summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/source/devref/filter_scheduler.rst12
-rw-r--r--etc/nova/nova.conf.sample8
-rw-r--r--etc/nova/policy.json17
-rw-r--r--etc/nova/rootwrap.d/network.filters5
-rw-r--r--nova/api/ec2/cloud.py7
-rw-r--r--nova/api/metadata/base.py6
-rw-r--r--nova/api/metadata/password.py9
-rw-r--r--nova/api/openstack/common.py19
-rw-r--r--nova/api/openstack/compute/contrib/attach_interfaces.py2
-rw-r--r--nova/api/openstack/compute/contrib/availability_zone.py2
-rw-r--r--nova/api/openstack/compute/contrib/cell_capacities.py2
-rw-r--r--nova/api/openstack/compute/contrib/certificates.py15
-rw-r--r--nova/api/openstack/compute/contrib/console_output.py2
-rw-r--r--nova/api/openstack/compute/contrib/consoles.py2
-rw-r--r--nova/api/openstack/compute/contrib/coverage_ext.py5
-rw-r--r--nova/api/openstack/compute/contrib/createserverext.py2
-rw-r--r--nova/api/openstack/compute/contrib/disk_config.py2
-rw-r--r--nova/api/openstack/compute/contrib/extended_availability_zone.py11
-rw-r--r--nova/api/openstack/compute/contrib/extended_floating_ips.py2
-rw-r--r--nova/api/openstack/compute/contrib/extended_ips.py2
-rw-r--r--nova/api/openstack/compute/contrib/fixed_ips.py3
-rw-r--r--nova/api/openstack/compute/contrib/flavorextraspecs.py2
-rw-r--r--nova/api/openstack/compute/contrib/flavormanage.py4
-rw-r--r--nova/api/openstack/compute/contrib/floating_ip_dns.py2
-rw-r--r--nova/api/openstack/compute/contrib/floating_ip_pools.py2
-rw-r--r--nova/api/openstack/compute/contrib/floating_ips.py2
-rw-r--r--nova/api/openstack/compute/contrib/multiple_create.py2
-rw-r--r--nova/api/openstack/compute/contrib/scheduler_hints.py2
-rw-r--r--nova/api/openstack/compute/contrib/security_groups.py144
-rw-r--r--nova/api/openstack/compute/contrib/server_password.py2
-rw-r--r--nova/api/openstack/compute/contrib/server_start_stop.py2
-rw-r--r--nova/api/openstack/compute/contrib/services.py3
-rw-r--r--nova/api/openstack/compute/contrib/used_limits.py2
-rw-r--r--nova/api/openstack/compute/contrib/used_limits_for_admin.py2
-rw-r--r--nova/api/openstack/compute/contrib/user_data.py2
-rw-r--r--nova/api/openstack/compute/extensions.py5
-rw-r--r--nova/api/openstack/compute/flavors.py3
-rw-r--r--nova/api/openstack/compute/limits.py34
-rw-r--r--nova/api/openstack/compute/plugins/v3/agents.py168
-rw-r--r--nova/api/openstack/compute/plugins/v3/cells.py347
-rw-r--r--nova/api/openstack/compute/plugins/v3/certificates.py97
-rw-r--r--nova/api/openstack/compute/plugins/v3/evacuate.py101
-rw-r--r--nova/api/openstack/compute/plugins/v3/extension_info.py23
-rw-r--r--nova/api/openstack/compute/plugins/v3/fixed_ips.py2
-rw-r--r--nova/api/openstack/compute/plugins/v3/flavor_access.py220
-rw-r--r--nova/api/openstack/compute/plugins/v3/flavor_disabled.py91
-rw-r--r--nova/api/openstack/compute/plugins/v3/flavors.py169
-rw-r--r--nova/api/openstack/compute/plugins/v3/images.py242
-rw-r--r--nova/api/openstack/compute/plugins/v3/keypairs.py3
-rw-r--r--nova/api/openstack/compute/plugins/v3/quota_classes.py103
-rw-r--r--nova/api/openstack/compute/plugins/v3/quota_sets.py214
-rw-r--r--nova/api/openstack/compute/plugins/v3/rescue.py100
-rw-r--r--nova/api/openstack/compute/plugins/v3/server_diagnostics.py71
-rw-r--r--nova/api/openstack/compute/plugins/v3/servers.py7
-rw-r--r--nova/api/openstack/compute/schemas/v3/flavor.rng12
-rw-r--r--nova/api/openstack/compute/schemas/v3/flavors.rng6
-rw-r--r--nova/api/openstack/compute/servers.py18
-rw-r--r--nova/api/openstack/compute/views/servers.py14
-rw-r--r--nova/api/openstack/extensions.py44
-rw-r--r--nova/api/openstack/xmlutil.py8
-rw-r--r--nova/availability_zones.py40
-rw-r--r--nova/baserpc.py18
-rw-r--r--nova/cells/manager.py13
-rw-r--r--nova/cells/messaging.py94
-rw-r--r--nova/cells/opts.py9
-rw-r--r--nova/cells/rpc_driver.py19
-rw-r--r--nova/cells/rpcapi.py53
-rw-r--r--nova/cells/scheduler.py13
-rw-r--r--nova/cells/state.py4
-rw-r--r--nova/cells/weights/mute_child.py6
-rw-r--r--nova/cert/rpcapi.py18
-rw-r--r--nova/cmd/baremetal_deploy_helper.py28
-rw-r--r--nova/cmd/manage.py15
-rw-r--r--nova/compute/api.py71
-rw-r--r--nova/compute/cells_api.py4
-rw-r--r--nova/compute/flavors.py14
-rwxr-xr-xnova/compute/manager.py363
-rw-r--r--nova/compute/rpcapi.py19
-rw-r--r--nova/compute/utils.py3
-rw-r--r--nova/conductor/api.py2
-rw-r--r--nova/conductor/manager.py54
-rw-r--r--nova/conductor/rpcapi.py39
-rw-r--r--nova/conductor/tasks/__init__.py (renamed from nova/openstack/common/plugin/__init__.py)3
-rw-r--r--nova/conductor/tasks/live_migrate.py173
-rw-r--r--nova/console/rpcapi.py18
-rw-r--r--nova/consoleauth/rpcapi.py18
-rw-r--r--nova/db/api.py10
-rw-r--r--nova/db/sqlalchemy/api.py105
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/186_new_bdm_format.py3
-rw-r--r--nova/db/sqlalchemy/migrate_repo/versions/189_add_cells_uc.py40
-rw-r--r--nova/db/sqlalchemy/models.py113
-rw-r--r--nova/db/sqlalchemy/utils.py18
-rw-r--r--nova/exception.py35
-rw-r--r--nova/image/s3.py5
-rw-r--r--nova/locale/bg_BG/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/bs/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/ca/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/cs/LC_MESSAGES/nova.po3187
-rw-r--r--nova/locale/da/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/de/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/en_AU/LC_MESSAGES/nova.po3131
-rw-r--r--nova/locale/en_GB/LC_MESSAGES/nova.po3131
-rw-r--r--nova/locale/en_US/LC_MESSAGES/nova.po3202
-rw-r--r--nova/locale/es/LC_MESSAGES/nova.po3135
-rw-r--r--nova/locale/fi_FI/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/fr/LC_MESSAGES/nova.po3138
-rw-r--r--nova/locale/hr/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/hu/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/id/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/it/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/it_IT/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/ja/LC_MESSAGES/nova.po3131
-rw-r--r--nova/locale/ka_GE/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/ko/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/ko_KR/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/ms/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/nb/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/nl_NL/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/nova.pot2924
-rw-r--r--nova/locale/pl_PL/LC_MESSAGES/nova.po11571
-rw-r--r--nova/locale/pt/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/pt_BR/LC_MESSAGES/nova.po3138
-rw-r--r--nova/locale/ro/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/ru/LC_MESSAGES/nova.po3147
-rw-r--r--nova/locale/ru_RU/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/sl_SI/LC_MESSAGES/nova.po11571
-rw-r--r--nova/locale/sw_KE/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/tl/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/tr/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/tr_TR/LC_MESSAGES/nova.po3145
-rw-r--r--nova/locale/uk/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/vi_VN/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/zh_CN/LC_MESSAGES/nova.po3167
-rw-r--r--nova/locale/zh_HK/LC_MESSAGES/nova.po3127
-rw-r--r--nova/locale/zh_TW/LC_MESSAGES/nova.po3127
-rw-r--r--nova/manager.py10
-rw-r--r--nova/netconf.py4
-rw-r--r--nova/network/linux_net.py12
-rw-r--r--nova/network/model.py3
-rw-r--r--nova/network/quantumv2/__init__.py59
-rw-r--r--nova/network/quantumv2/api.py8
-rw-r--r--nova/network/rpcapi.py18
-rw-r--r--nova/network/security_group/quantum_driver.py49
-rw-r--r--nova/notifications.py12
-rw-r--r--nova/objects/__init__.py2
-rw-r--r--nova/objects/base.py80
-rw-r--r--nova/objects/instance.py101
-rw-r--r--nova/objects/instance_fault.py61
-rw-r--r--nova/objects/instance_info_cache.py8
-rw-r--r--nova/objects/security_group.py95
-rw-r--r--nova/openstack/common/gettextutils.py176
-rw-r--r--nova/openstack/common/jsonutils.py3
-rw-r--r--nova/openstack/common/plugin/callbackplugin.py93
-rw-r--r--nova/openstack/common/plugin/plugin.py86
-rw-r--r--nova/openstack/common/plugin/pluginmanager.py78
-rw-r--r--nova/openstack/common/strutils.py90
-rw-r--r--nova/quota.py2
-rw-r--r--nova/scheduler/chance.py16
-rw-r--r--nova/scheduler/driver.py203
-rw-r--r--nova/scheduler/filter_scheduler.py30
-rw-r--r--nova/scheduler/filters/aggregate_multitenancy_isolation.py3
-rw-r--r--nova/scheduler/filters/compute_capabilities_filter.py2
-rw-r--r--nova/scheduler/filters/core_filter.py57
-rw-r--r--nova/scheduler/filters/ram_filter.py60
-rw-r--r--nova/scheduler/filters/trusted_filter.py2
-rw-r--r--nova/scheduler/host_manager.py8
-rw-r--r--nova/scheduler/manager.py81
-rw-r--r--nova/scheduler/rpcapi.py25
-rw-r--r--nova/scheduler/scheduler_options.py6
-rw-r--r--nova/scheduler/utils.py69
-rw-r--r--nova/service.py2
-rw-r--r--nova/tests/api/ec2/test_cloud.py10
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_admin_actions.py4
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_availability_zone.py1
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_coverage_ext.py2
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_evacuate.py20
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_extended_availability_zone.py51
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_flavor_manage.py15
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_security_groups.py2
-rw-r--r--nova/tests/api/openstack/compute/extensions/test_plugin_api_extensions.py87
-rw-r--r--nova/tests/api/openstack/compute/plugins/v3/test_agents.py181
-rw-r--r--nova/tests/api/openstack/compute/plugins/v3/test_cells.py469
-rw-r--r--nova/tests/api/openstack/compute/plugins/v3/test_certificates.py77
-rw-r--r--nova/tests/api/openstack/compute/plugins/v3/test_evacuate.py198
-rw-r--r--nova/tests/api/openstack/compute/plugins/v3/test_extension_info.py108
-rw-r--r--nova/tests/api/openstack/compute/plugins/v3/test_flavor_access.py308
-rw-r--r--nova/tests/api/openstack/compute/plugins/v3/test_flavor_disabled.py101
-rw-r--r--nova/tests/api/openstack/compute/plugins/v3/test_flavors.py696
-rw-r--r--nova/tests/api/openstack/compute/plugins/v3/test_images.py1336
-rw-r--r--nova/tests/api/openstack/compute/plugins/v3/test_quota_classes.py188
-rw-r--r--nova/tests/api/openstack/compute/plugins/v3/test_quota_sets.py399
-rw-r--r--nova/tests/api/openstack/compute/plugins/v3/test_rescue.py126
-rw-r--r--nova/tests/api/openstack/compute/plugins/v3/test_server_diagnostics.py81
-rw-r--r--nova/tests/api/openstack/compute/plugins/v3/test_servers.py402
-rw-r--r--nova/tests/api/openstack/compute/test_flavors.py1
-rw-r--r--nova/tests/api/openstack/compute/test_limits.py24
-rw-r--r--nova/tests/api/openstack/compute/test_server_metadata.py3
-rw-r--r--nova/tests/api/openstack/compute/test_servers.py277
-rw-r--r--nova/tests/api/openstack/compute/test_v3_extensions.py37
-rw-r--r--nova/tests/api/openstack/fakes.py17
-rw-r--r--nova/tests/cells/test_cells_manager.py24
-rw-r--r--nova/tests/cells/test_cells_messaging.py225
-rw-r--r--nova/tests/cells/test_cells_rpcapi.py26
-rw-r--r--nova/tests/cells/test_cells_scheduler.py23
-rw-r--r--nova/tests/compute/test_compute.py453
-rw-r--r--nova/tests/conductor/tasks/__init__.py11
-rw-r--r--nova/tests/conductor/tasks/test_live_migrate.py311
-rw-r--r--nova/tests/conductor/test_conductor.py201
-rw-r--r--nova/tests/db/test_db_api.py1759
-rw-r--r--nova/tests/db/test_migration_utils.py27
-rw-r--r--nova/tests/db/test_migrations.py39
-rw-r--r--nova/tests/fake_network.py24
-rw-r--r--nova/tests/fake_policy.py11
-rw-r--r--nova/tests/integrated/test_api_samples.py36
-rw-r--r--nova/tests/network/test_linux_net.py1
-rw-r--r--nova/tests/network/test_network_info.py2
-rw-r--r--nova/tests/network/test_quantumv2.py27
-rw-r--r--nova/tests/objects/test_instance.py103
-rw-r--r--nova/tests/objects/test_instance_fault.py86
-rw-r--r--nova/tests/objects/test_objects.py69
-rw-r--r--nova/tests/objects/test_security_group.py186
-rw-r--r--nova/tests/scheduler/test_chance_scheduler.py53
-rw-r--r--nova/tests/scheduler/test_filter_scheduler.py194
-rw-r--r--nova/tests/scheduler/test_host_filters.py126
-rw-r--r--nova/tests/scheduler/test_rpcapi.py6
-rw-r--r--nova/tests/scheduler/test_scheduler.py533
-rw-r--r--nova/tests/scheduler/test_scheduler_options.py1
-rw-r--r--nova/tests/servicegroup/test_mc_servicegroup.py16
-rw-r--r--nova/tests/servicegroup/test_zk_driver.py2
-rw-r--r--nova/tests/test_availability_zones.py4
-rw-r--r--nova/tests/test_cinder.py15
-rw-r--r--nova/tests/test_flavors.py16
-rw-r--r--nova/tests/test_metadata.py1
-rw-r--r--nova/tests/test_notifications.py10
-rw-r--r--nova/tests/test_quota.py2
-rw-r--r--nova/tests/test_utils.py121
-rw-r--r--nova/tests/test_wsgi.py15
-rw-r--r--nova/tests/utils.py4
-rw-r--r--nova/tests/virt/baremetal/db/test_bm_pxe_ip.py94
-rw-r--r--nova/tests/virt/baremetal/db/utils.py12
-rw-r--r--nova/tests/virt/baremetal/test_pxe.py26
-rwxr-xr-xnova/tests/virt/baremetal/test_tilera.py7
-rw-r--r--nova/tests/virt/hyperv/test_hypervapi.py21
-rw-r--r--nova/tests/virt/libvirt/test_libvirt.py293
-rw-r--r--nova/tests/virt/libvirt/test_libvirt_vif.py80
-rw-r--r--nova/tests/virt/powervm/test_powervm.py35
-rw-r--r--nova/tests/virt/test_virt_drivers.py29
-rw-r--r--nova/tests/virt/vmwareapi/db_fakes.py2
-rw-r--r--nova/tests/virt/vmwareapi/test_vmwareapi.py113
-rw-r--r--nova/tests/virt/vmwareapi/test_vmwareapi_vm_util.py96
-rw-r--r--nova/tests/virt/xenapi/test_agent.py10
-rw-r--r--nova/tests/virt/xenapi/test_vm_utils.py4
-rw-r--r--nova/tests/virt/xenapi/test_xenapi.py99
-rw-r--r--nova/utils.py109
-rw-r--r--nova/virt/baremetal/base.py2
-rw-r--r--nova/virt/baremetal/db/api.py36
-rw-r--r--nova/virt/baremetal/db/sqlalchemy/api.py108
-rw-r--r--nova/virt/baremetal/db/sqlalchemy/migrate_repo/versions/008_remove_bm_pxe_ips_table.py61
-rw-r--r--nova/virt/baremetal/db/sqlalchemy/models.py9
-rwxr-xr-xnova/virt/baremetal/driver.py9
-rw-r--r--nova/virt/baremetal/fake.py2
-rw-r--r--nova/virt/baremetal/pxe.py58
-rw-r--r--nova/virt/baremetal/pxe_config.template2
-rwxr-xr-xnova/virt/baremetal/tilera.py32
-rwxr-xr-xnova/virt/baremetal/tilera_pdu.py2
-rw-r--r--nova/virt/baremetal/utils.py29
-rw-r--r--nova/virt/baremetal/virtual_power_driver.py2
-rw-r--r--nova/virt/baremetal/volume_driver.py11
-rw-r--r--nova/virt/configdrive.py4
-rw-r--r--nova/virt/disk/vfs/localfs.py8
-rwxr-xr-xnova/virt/driver.py3
-rwxr-xr-xnova/virt/fake.py2
-rwxr-xr-xnova/virt/hyperv/driver.py3
-rw-r--r--nova/virt/hyperv/imagecache.py19
-rw-r--r--nova/virt/hyperv/livemigrationutils.py6
-rw-r--r--nova/virt/hyperv/migrationops.py33
-rw-r--r--nova/virt/hyperv/networkutils.py4
-rw-r--r--nova/virt/hyperv/pathutils.py5
-rw-r--r--nova/virt/hyperv/snapshotops.py25
-rw-r--r--nova/virt/hyperv/vmops.py21
-rw-r--r--nova/virt/hyperv/vmutils.py36
-rw-r--r--nova/virt/hyperv/volumeops.py22
-rwxr-xr-xnova/virt/images.py5
-rw-r--r--nova/virt/libvirt/blockinfo.py2
-rwxr-xr-xnova/virt/libvirt/driver.py357
-rw-r--r--nova/virt/libvirt/firewall.py9
-rw-r--r--nova/virt/libvirt/vif.py152
-rw-r--r--nova/virt/powervm/command.py14
-rwxr-xr-xnova/virt/powervm/driver.py13
-rw-r--r--nova/virt/powervm/lpar.py2
-rw-r--r--nova/virt/powervm/operator.py21
-rwxr-xr-xnova/virt/vmwareapi/driver.py54
-rw-r--r--nova/virt/vmwareapi/fake.py123
-rw-r--r--nova/virt/vmwareapi/vm_util.py117
-rw-r--r--nova/virt/vmwareapi/vmops.py36
-rw-r--r--nova/virt/xenapi/agent.py176
-rwxr-xr-xnova/virt/xenapi/driver.py3
-rw-r--r--nova/virt/xenapi/fake.py9
-rw-r--r--nova/virt/xenapi/vm_utils.py32
-rw-r--r--nova/virt/xenapi/volume_utils.py12
-rw-r--r--nova/vnc/xvp_proxy.py5
-rw-r--r--nova/wsgi.py3
-rw-r--r--openstack-common.conf1
-rwxr-xr-xplugins/xenserver/xenapi/etc/xapi.d/plugins/bittorrent7
-rw-r--r--plugins/xenserver/xenapi/etc/xapi.d/plugins/utils.py8
-rwxr-xr-xplugins/xenserver/xenapi/etc/xapi.d/plugins/xenstore.py8
-rw-r--r--requirements.txt5
-rw-r--r--setup.cfg10
-rw-r--r--smoketests/base.py2
-rw-r--r--smoketests/public_network_smoketests.py2
-rw-r--r--smoketests/test_sysadmin.py1
-rwxr-xr-xtools/conf/generate_sample.sh8
-rwxr-xr-xtools/xenserver/rotate_xen_guest_logs.sh62
313 files changed, 98805 insertions, 64633 deletions
diff --git a/doc/source/devref/filter_scheduler.rst b/doc/source/devref/filter_scheduler.rst
index 1a5ed11a2..4fca56736 100644
--- a/doc/source/devref/filter_scheduler.rst
+++ b/doc/source/devref/filter_scheduler.rst
@@ -73,11 +73,21 @@ There are some standard filter classes to use (:mod:`nova.scheduler.filters`):
* |ComputeFilter| - passes all hosts that are operational and enabled.
* |CoreFilter| - filters based on CPU core utilization. It passes hosts with
sufficient number of CPU cores.
+* |AggregateCoreFilter| - filters hosts by CPU core number with per-aggregate
+ cpu_allocation_ratio setting. If no per-aggregate value is found, it will
+ fall back to the global default cpu_allocation_ratio. If more than one value
+ is found for a host (meaning the host is in two differenet aggregate with
+ different ratio settings), the minimum value will be used.
* |IsolatedHostsFilter| - filter based on "image_isolated" and "host_isolated"
flags.
* |JsonFilter| - allows simple JSON-based grammar for selecting hosts.
* |RamFilter| - filters hosts by their RAM. Only hosts with sufficient RAM
to host the instance are passed.
+* |AggregateRamFilter| - filters hosts by RAM with per-aggregate
+ ram_allocation_ratio setting. If no per-aggregate value is found, it will
+ fall back to the global default ram_allocation_ratio. If more than one value
+ is found for a host (meaning the host is in two differenet aggregate with
+ different ratio settings), the minimum value will be used.
* |SimpleCIDRAffinityFilter| - allows to put a new instance on a host within
the same IP block.
* |DifferentHostFilter| - allows to put the instance on a different host from a
@@ -282,9 +292,11 @@ in :mod:`nova.tests.scheduler`.
.. |ComputeCapabilitiesFilter| replace:: :class:`ComputeCapabilitiesFilter <nova.scheduler.filters.compute_capabilities_filter.ComputeCapabilitiesFilter>`
.. |ComputeFilter| replace:: :class:`ComputeFilter <nova.scheduler.filters.compute_filter.ComputeFilter>`
.. |CoreFilter| replace:: :class:`CoreFilter <nova.scheduler.filters.core_filter.CoreFilter>`
+.. |AggregateCoreFilter| replace:: :class:`AggregateCoreFilter <nova.scheduler.filters.core_filter.AggregateCoreFilter>`
.. |IsolatedHostsFilter| replace:: :class:`IsolatedHostsFilter <nova.scheduler.filters.isolated_hosts_filter>`
.. |JsonFilter| replace:: :class:`JsonFilter <nova.scheduler.filters.json_filter.JsonFilter>`
.. |RamFilter| replace:: :class:`RamFilter <nova.scheduler.filters.ram_filter.RamFilter>`
+.. |AggregateRamFilter| replace:: :class:`AggregateRamFilter <nova.scheduler.filters.ram_filter.AggregateRamFilter>`
.. |SimpleCIDRAffinityFilter| replace:: :class:`SimpleCIDRAffinityFilter <nova.scheduler.filters.affinity_filter.SimpleCIDRAffinityFilter>`
.. |GroupAntiAffinityFilter| replace:: :class:`GroupAntiAffinityFilter <nova.scheduler.filters.affinity_filter.GroupAntiAffinityFilter>`
.. |DifferentHostFilter| replace:: :class:`DifferentHostFilter <nova.scheduler.filters.affinity_filter.DifferentHostFilter>`
diff --git a/etc/nova/nova.conf.sample b/etc/nova/nova.conf.sample
index 7524a7e5e..9e095cb29 100644
--- a/etc/nova/nova.conf.sample
+++ b/etc/nova/nova.conf.sample
@@ -515,8 +515,8 @@
# (string value)
#vpn_image_id=0
-# Instance type for vpn instances (string value)
-#vpn_instance_type=m1.tiny
+# Flavor for vpn instances (string value)
+#vpn_flavor=m1.tiny
# Template for cloudpipe instance boot script (string value)
#boot_script_template=$pybasedir/nova/cloudpipe/bootscript.template
@@ -641,8 +641,8 @@
# Options defined in nova.compute.flavors
#
-# default instance type to use, testing only (string value)
-#default_instance_type=m1.small
+# default flavor to use, testing only (string value)
+#default_flavor=m1.small
#
diff --git a/etc/nova/policy.json b/etc/nova/policy.json
index a9a584237..69fbbb584 100644
--- a/etc/nova/policy.json
+++ b/etc/nova/policy.json
@@ -33,26 +33,34 @@
"compute_extension:attach_interfaces": "",
"compute_extension:baremetal_nodes": "rule:admin_api",
"compute_extension:cells": "rule:admin_api",
+ "compute_extension:v3:os-cells": "rule:admin_api",
"compute_extension:certificates": "",
+ "compute_extension:v3:os-certificates": "",
"compute_extension:cloudpipe": "rule:admin_api",
"compute_extension:cloudpipe_update": "rule:admin_api",
"compute_extension:console_output": "",
+ "compute_extension:v3:consoles:discoverable": "",
"compute_extension:consoles": "",
"compute_extension:coverage_ext": "rule:admin_api",
"compute_extension:createserverext": "",
"compute_extension:deferred_delete": "",
"compute_extension:disk_config": "",
"compute_extension:evacuate": "rule:admin_api",
+ "compute_extension:v3:os-evacuate": "rule:admin_api",
"compute_extension:extended_server_attributes": "rule:admin_api",
"compute_extension:extended_status": "",
"compute_extension:extended_availability_zone": "",
"compute_extension:extended_ips": "",
"compute_extension:extended_ips_mac": "",
"compute_extension:extended_vif_net": "",
+ "compute_extension:v3:extension_info:discoverable": "",
"compute_extension:fixed_ips": "rule:admin_api",
+ "compute_extension:v3:os-fixed-ips:discoverable": "",
"compute_extension:v3:os-fixed-ips": "rule:admin_api",
"compute_extension:flavor_access": "",
+ "compute_extension:v3:os-flavor-access": "",
"compute_extension:flavor_disabled": "",
+ "compute_extension:v3:os-flavor-disabled": "",
"compute_extension:flavor_rxtx": "",
"compute_extension:flavor_swap": "",
"compute_extension:flavorextradata": "",
@@ -72,10 +80,13 @@
"compute_extension:hosts": "rule:admin_api",
"compute_extension:hypervisors": "rule:admin_api",
"compute_extension:image_size": "",
+ "compute_extension:v3:os-images": "",
"compute_extension:instance_actions": "",
"compute_extension:instance_actions:events": "rule:admin_api",
"compute_extension:instance_usage_audit_log": "rule:admin_api",
+ "compute_extension:v3:ips:discoverable": "",
"compute_extension:keypairs": "",
+ "compute_extension:v3:os-keypairs:discoverable": "",
"compute_extension:v3:os-keypairs": "",
"compute_extension:multinic": "",
"compute_extension:networks": "rule:admin_api",
@@ -84,14 +95,20 @@
"compute_extension:quotas:show": "",
"compute_extension:quotas:update": "rule:admin_api",
"compute_extension:quotas:delete": "rule:admin_api",
+ "compute_extension:v3:os-quota-sets:show": "",
+ "compute_extension:v3:os-quota-sets:update": "rule:admin_api",
+ "compute_extension:v3:os-quota-sets:delete": "rule:admin_api",
"compute_extension:quota_classes": "",
"compute_extension:rescue": "",
+ "compute_extension:v3:os-rescue": "",
"compute_extension:security_group_default_rules": "rule:admin_api",
"compute_extension:security_groups": "",
"compute_extension:server_diagnostics": "rule:admin_api",
+ "compute_extension:v3:os-server-diagnostics": "rule:admin_api",
"compute_extension:server_password": "",
"compute_extension:server_usage": "",
"compute_extension:services": "rule:admin_api",
+ "compute_extension:v3:servers:discoverable": "",
"compute_extension:simple_tenant_usage:show": "rule:admin_or_owner",
"compute_extension:simple_tenant_usage:list": "rule:admin_api",
"compute_extension:users": "rule:admin_api",
diff --git a/etc/nova/rootwrap.d/network.filters b/etc/nova/rootwrap.d/network.filters
index 02138cff4..9a607bf84 100644
--- a/etc/nova/rootwrap.d/network.filters
+++ b/etc/nova/rootwrap.d/network.filters
@@ -34,6 +34,11 @@ ovs-vsctl: CommandFilter, ovs-vsctl, root
# nova/network/linux_net.py: 'ovs-ofctl', ....
ovs-ofctl: CommandFilter, ovs-ofctl, root
+# nova/virt/libvirt/vif.py: 'ivs-ctl', ...
+# nova/virt/libvirt/vif.py: 'ivs-ctl', 'del-port', ...
+# nova/network/linux_net.py: 'ivs-ctl', ....
+ivs-ctl: CommandFilter, ivs-ctl, root
+
# nova/network/linux_net.py: 'ebtables', '-D' ...
# nova/network/linux_net.py: 'ebtables', '-I' ...
ebtables: CommandFilter, ebtables, root
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py
index 47575b201..51a86e02f 100644
--- a/nova/api/ec2/cloud.py
+++ b/nova/api/ec2/cloud.py
@@ -211,9 +211,8 @@ def db_to_inst_obj(context, db_instance):
# NOTE(danms): This is a temporary helper method for converting
# Instance DB objects to NovaObjects without needing to re-query.
inst_obj = instance_obj.Instance._from_db_object(
- instance_obj.Instance(), db_instance,
+ context, instance_obj.Instance(), db_instance,
expected_attrs=['system_metadata', 'metadata'])
- inst_obj._context = context
return inst_obj
@@ -802,7 +801,6 @@ class CloudController(object):
'detaching': 'in-use'}
instance_ec2_id = None
- instance_data = None
if volume.get('instance_uuid', None):
instance_uuid = volume['instance_uuid']
@@ -810,8 +808,7 @@ class CloudController(object):
instance_uuid)
instance_ec2_id = ec2utils.id_to_ec2_inst_id(instance_uuid)
- instance_data = '%s[%s]' % (instance_ec2_id,
- instance['host'])
+
v = {}
v['volumeId'] = ec2utils.id_to_ec2_vol_id(volume['id'])
v['status'] = valid_ec2_api_volume_status_map.get(volume['status'],
diff --git a/nova/api/metadata/base.py b/nova/api/metadata/base.py
index 425e5bf53..da0a50662 100644
--- a/nova/api/metadata/base.py
+++ b/nova/api/metadata/base.py
@@ -32,6 +32,8 @@ from nova.compute import flavors
from nova import conductor
from nova import context
from nova import network
+from nova import utils
+
from nova.openstack.common import timeutils
from nova.virt import netutils
@@ -127,9 +129,7 @@ class InstanceMetadata():
self.address = address
# expose instance metadata.
- self.launch_metadata = {}
- for item in instance.get('metadata', []):
- self.launch_metadata[item['key']] = item['value']
+ self.launch_metadata = utils.instance_meta(instance)
self.password = password.extract_password(instance)
diff --git a/nova/api/metadata/password.py b/nova/api/metadata/password.py
index f3453e945..793dcc0a7 100644
--- a/nova/api/metadata/password.py
+++ b/nova/api/metadata/password.py
@@ -27,10 +27,10 @@ MAX_SIZE = CHUNKS * CHUNK_LENGTH
def extract_password(instance):
result = ''
- for datum in sorted(instance.get('system_metadata', []),
- key=lambda x: x['key']):
- if datum['key'].startswith('password_'):
- result += datum['value']
+ sys_meta = utils.instance_sys_meta(instance)
+ for key in sorted(sys_meta.keys()):
+ if key.startswith('password_'):
+ result += sys_meta[key]
return result or None
@@ -49,7 +49,6 @@ def convert_password(context, password):
def handle_password(req, meta_data):
ctxt = context.get_admin_context()
- password = meta_data.password
if req.method == 'GET':
return meta_data.password
elif req.method == 'POST':
diff --git a/nova/api/openstack/common.py b/nova/api/openstack/common.py
index bec919f4b..509256d87 100644
--- a/nova/api/openstack/common.py
+++ b/nova/api/openstack/common.py
@@ -358,9 +358,12 @@ def raise_http_conflict_for_instance_invalid_state(exc, action):
"""
attr = exc.kwargs.get('attr')
state = exc.kwargs.get('state')
+ not_launched = exc.kwargs.get('not_launched')
if attr and state:
msg = _("Cannot '%(action)s' while instance is in %(attr)s "
"%(state)s") % {'action': action, 'attr': attr, 'state': state}
+ elif not_launched:
+ msg = _("Cannot '%s' an instance which has never been active") % action
else:
# At least give some meaningful message
msg = _("Instance is in an invalid state for '%s'") % action
@@ -454,6 +457,16 @@ def check_snapshots_enabled(f):
class ViewBuilder(object):
"""Model API responses as dictionaries."""
+ def _get_project_id(self, request):
+ """
+ Get project id from request url if present or empty string
+ otherwise
+ """
+ project_id = request.environ["nova.context"].project_id
+ if project_id in request.url:
+ return project_id
+ return ''
+
def _get_links(self, request, identifier, collection_name):
return [{
"rel": "self",
@@ -472,7 +485,7 @@ class ViewBuilder(object):
params["marker"] = identifier
prefix = self._update_compute_link_prefix(request.application_url)
url = os.path.join(prefix,
- request.environ["nova.context"].project_id,
+ self._get_project_id(request),
collection_name)
return "%s?%s" % (url, dict_to_query_str(params))
@@ -480,7 +493,7 @@ class ViewBuilder(object):
"""Return an href string pointing to this object."""
prefix = self._update_compute_link_prefix(request.application_url)
return os.path.join(prefix,
- request.environ["nova.context"].project_id,
+ self._get_project_id(request),
collection_name,
str(identifier))
@@ -489,7 +502,7 @@ class ViewBuilder(object):
base_url = remove_version_from_href(request.application_url)
base_url = self._update_compute_link_prefix(base_url)
return os.path.join(base_url,
- request.environ["nova.context"].project_id,
+ self._get_project_id(request),
collection_name,
str(identifier))
diff --git a/nova/api/openstack/compute/contrib/attach_interfaces.py b/nova/api/openstack/compute/contrib/attach_interfaces.py
index ec565a0d1..a823eed2b 100644
--- a/nova/api/openstack/compute/contrib/attach_interfaces.py
+++ b/nova/api/openstack/compute/contrib/attach_interfaces.py
@@ -60,7 +60,7 @@ class InterfaceAttachmentController(object):
port_id = id
try:
- instance = self.compute_api.get(context, server_id)
+ self.compute_api.get(context, server_id)
except exception.NotFound:
raise exc.HTTPNotFound()
diff --git a/nova/api/openstack/compute/contrib/availability_zone.py b/nova/api/openstack/compute/contrib/availability_zone.py
index 22001b65f..1f22bf252 100644
--- a/nova/api/openstack/compute/contrib/availability_zone.py
+++ b/nova/api/openstack/compute/contrib/availability_zone.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
from oslo.config import cfg
diff --git a/nova/api/openstack/compute/contrib/cell_capacities.py b/nova/api/openstack/compute/contrib/cell_capacities.py
index ae8b42336..ab79b4327 100644
--- a/nova/api/openstack/compute/contrib/cell_capacities.py
+++ b/nova/api/openstack/compute/contrib/cell_capacities.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
from nova.api.openstack import extensions
diff --git a/nova/api/openstack/compute/contrib/certificates.py b/nova/api/openstack/compute/contrib/certificates.py
index 64a6e26fe..979008a87 100644
--- a/nova/api/openstack/compute/contrib/certificates.py
+++ b/nova/api/openstack/compute/contrib/certificates.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
import webob.exc
@@ -38,15 +38,6 @@ class CertificateTemplate(xmlutil.TemplateBuilder):
return xmlutil.MasterTemplate(root, 1)
-class CertificatesTemplate(xmlutil.TemplateBuilder):
- def construct(self):
- root = xmlutil.TemplateElement('certificates')
- elem = xmlutil.SubTemplateElement(root, 'certificate',
- selector='certificates')
- make_certificate(elem)
- return xmlutil.MasterTemplate(root, 1)
-
-
def _translate_certificate_view(certificate, private_key=None):
return {
'data': certificate,
@@ -64,7 +55,7 @@ class CertificatesController(object):
@wsgi.serializers(xml=CertificateTemplate)
def show(self, req, id):
- """Return a list of certificates."""
+ """Return certificate information."""
context = req.environ['nova.context']
authorize(context)
if id != 'root':
@@ -76,7 +67,7 @@ class CertificatesController(object):
@wsgi.serializers(xml=CertificateTemplate)
def create(self, req, body=None):
- """Return a list of certificates."""
+ """Create a certificate."""
context = req.environ['nova.context']
authorize(context)
pk, cert = self.cert_rpcapi.generate_x509_cert(context,
diff --git a/nova/api/openstack/compute/contrib/console_output.py b/nova/api/openstack/compute/contrib/console_output.py
index eb20b3275..07b3f2556 100644
--- a/nova/api/openstack/compute/contrib/console_output.py
+++ b/nova/api/openstack/compute/contrib/console_output.py
@@ -14,7 +14,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
import re
import webob
diff --git a/nova/api/openstack/compute/contrib/consoles.py b/nova/api/openstack/compute/contrib/consoles.py
index bf1f41690..8247620f2 100644
--- a/nova/api/openstack/compute/contrib/consoles.py
+++ b/nova/api/openstack/compute/contrib/consoles.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
import webob
diff --git a/nova/api/openstack/compute/contrib/coverage_ext.py b/nova/api/openstack/compute/contrib/coverage_ext.py
index 154699470..fd1ad53e9 100644
--- a/nova/api/openstack/compute/contrib/coverage_ext.py
+++ b/nova/api/openstack/compute/contrib/coverage_ext.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
# See: http://wiki.openstack.org/Nova/CoverageExtension for more information
# and usage explanation for this API extension
@@ -134,11 +134,12 @@ class CoverageController(object):
# doesn't resolve to 127.0.0.1. Currently backdoors only open on
# loopback so this is for covering the common single host use case
except socket.error as e:
+ exc_info = sys.exc_info()
if 'ECONNREFUSED' in e and service['host'] == self.host:
service['telnet'] = telnetlib.Telnet('127.0.0.1',
service['port'])
else:
- raise e
+ raise exc_info[0], exc_info[1], exc_info[2]
self.services.append(service)
self._start_coverage_telnet(service['telnet'], service['service'])
diff --git a/nova/api/openstack/compute/contrib/createserverext.py b/nova/api/openstack/compute/contrib/createserverext.py
index 337fedae6..9559ceef3 100644
--- a/nova/api/openstack/compute/contrib/createserverext.py
+++ b/nova/api/openstack/compute/contrib/createserverext.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
from nova.api.openstack import extensions
diff --git a/nova/api/openstack/compute/contrib/disk_config.py b/nova/api/openstack/compute/contrib/disk_config.py
index f2b906144..692ed6455 100644
--- a/nova/api/openstack/compute/contrib/disk_config.py
+++ b/nova/api/openstack/compute/contrib/disk_config.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
"""Disk Config extension."""
diff --git a/nova/api/openstack/compute/contrib/extended_availability_zone.py b/nova/api/openstack/compute/contrib/extended_availability_zone.py
index 00765e209..6e77cd6bd 100644
--- a/nova/api/openstack/compute/contrib/extended_availability_zone.py
+++ b/nova/api/openstack/compute/contrib/extended_availability_zone.py
@@ -20,7 +20,7 @@
from nova.api.openstack import extensions
from nova.api.openstack import wsgi
from nova.api.openstack import xmlutil
-from nova import availability_zones
+from nova import availability_zones as avail_zone
authorize = extensions.soft_extension_authorizer('compute',
'extended_availability_zone')
@@ -29,8 +29,13 @@ authorize = extensions.soft_extension_authorizer('compute',
class ExtendedAZController(wsgi.Controller):
def _extend_server(self, context, server, instance):
key = "%s:availability_zone" % Extended_availability_zone.alias
- server[key] = availability_zones.get_instance_availability_zone(
- context, instance)
+ az = avail_zone.get_instance_availability_zone(context, instance)
+ if not az and instance.get('availability_zone'):
+ # Likely hasn't reached a viable compute node yet so give back the
+ # desired availability_zone that *may* exist in the instance
+ # record itself.
+ az = instance['availability_zone']
+ server[key] = az
@wsgi.extends
def show(self, req, resp_obj, id):
diff --git a/nova/api/openstack/compute/contrib/extended_floating_ips.py b/nova/api/openstack/compute/contrib/extended_floating_ips.py
index 06f1fa903..44b84bad9 100644
--- a/nova/api/openstack/compute/contrib/extended_floating_ips.py
+++ b/nova/api/openstack/compute/contrib/extended_floating_ips.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
from nova.api.openstack import extensions
diff --git a/nova/api/openstack/compute/contrib/extended_ips.py b/nova/api/openstack/compute/contrib/extended_ips.py
index ac75293a6..20356c08d 100644
--- a/nova/api/openstack/compute/contrib/extended_ips.py
+++ b/nova/api/openstack/compute/contrib/extended_ips.py
@@ -94,7 +94,7 @@ def make_server(elem):
class ExtendedIpsServerTemplate(xmlutil.TemplateBuilder):
def construct(self):
root = xmlutil.TemplateElement('server', selector='server')
- elem = xmlutil.SubTemplateElement(root, 'server', selector='servers')
+ xmlutil.SubTemplateElement(root, 'server', selector='servers')
make_server(root)
return xmlutil.SlaveTemplate(root, 1, nsmap={
Extended_ips.alias: Extended_ips.namespace})
diff --git a/nova/api/openstack/compute/contrib/fixed_ips.py b/nova/api/openstack/compute/contrib/fixed_ips.py
index b474b685d..532282a2b 100644
--- a/nova/api/openstack/compute/contrib/fixed_ips.py
+++ b/nova/api/openstack/compute/contrib/fixed_ips.py
@@ -69,8 +69,7 @@ class FixedIPController(object):
fixed_ip = db.fixed_ip_get_by_address(context, address)
db.fixed_ip_update(context, fixed_ip['address'],
{'reserved': reserved})
- except (exception.FixedIpNotFoundForAddress,
- exception.FixedIpInvalid) as ex:
+ except (exception.FixedIpNotFoundForAddress, exception.FixedIpInvalid):
msg = _("Fixed IP %s not found") % address
raise webob.exc.HTTPNotFound(explanation=msg)
diff --git a/nova/api/openstack/compute/contrib/flavorextraspecs.py b/nova/api/openstack/compute/contrib/flavorextraspecs.py
index 6e33d3603..00e7d7233 100644
--- a/nova/api/openstack/compute/contrib/flavorextraspecs.py
+++ b/nova/api/openstack/compute/contrib/flavorextraspecs.py
@@ -104,7 +104,7 @@ class FlavorExtraSpecsController(object):
extra_spec = db.instance_type_extra_specs_get_item(context,
flavor_id, id)
return extra_spec
- except exception.InstanceTypeExtraSpecsNotFound as e:
+ except exception.InstanceTypeExtraSpecsNotFound:
raise exc.HTTPNotFound()
def delete(self, req, flavor_id, id):
diff --git a/nova/api/openstack/compute/contrib/flavormanage.py b/nova/api/openstack/compute/contrib/flavormanage.py
index 43d5d2110..602e82c36 100644
--- a/nova/api/openstack/compute/contrib/flavormanage.py
+++ b/nova/api/openstack/compute/contrib/flavormanage.py
@@ -10,7 +10,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
import webob
@@ -76,6 +76,8 @@ class FlavorManageController(wsgi.Controller):
except (exception.InstanceTypeExists,
exception.InstanceTypeIdExists) as err:
raise webob.exc.HTTPConflict(explanation=err.format_message())
+ except exception.InvalidInput as exc:
+ raise webob.exc.HTTPBadRequest(explanation=exc.format_message())
return self._view_builder.show(req, flavor)
diff --git a/nova/api/openstack/compute/contrib/floating_ip_dns.py b/nova/api/openstack/compute/contrib/floating_ip_dns.py
index ecaa8e7b9..1d6a8b812 100644
--- a/nova/api/openstack/compute/contrib/floating_ip_dns.py
+++ b/nova/api/openstack/compute/contrib/floating_ip_dns.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
import urllib
diff --git a/nova/api/openstack/compute/contrib/floating_ip_pools.py b/nova/api/openstack/compute/contrib/floating_ip_pools.py
index e792ce433..aefe65d26 100644
--- a/nova/api/openstack/compute/contrib/floating_ip_pools.py
+++ b/nova/api/openstack/compute/contrib/floating_ip_pools.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
from nova.api.openstack import extensions
from nova.api.openstack import wsgi
diff --git a/nova/api/openstack/compute/contrib/floating_ips.py b/nova/api/openstack/compute/contrib/floating_ips.py
index 284a211cd..807201e7e 100644
--- a/nova/api/openstack/compute/contrib/floating_ips.py
+++ b/nova/api/openstack/compute/contrib/floating_ips.py
@@ -15,7 +15,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
import webob
diff --git a/nova/api/openstack/compute/contrib/multiple_create.py b/nova/api/openstack/compute/contrib/multiple_create.py
index fd450b6d8..ee3dcf4b4 100644
--- a/nova/api/openstack/compute/contrib/multiple_create.py
+++ b/nova/api/openstack/compute/contrib/multiple_create.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
from nova.api.openstack import extensions
diff --git a/nova/api/openstack/compute/contrib/scheduler_hints.py b/nova/api/openstack/compute/contrib/scheduler_hints.py
index 0775307f4..0a5136205 100644
--- a/nova/api/openstack/compute/contrib/scheduler_hints.py
+++ b/nova/api/openstack/compute/contrib/scheduler_hints.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
import webob.exc
diff --git a/nova/api/openstack/compute/contrib/security_groups.py b/nova/api/openstack/compute/contrib/security_groups.py
index b34a77cab..e2862be4e 100644
--- a/nova/api/openstack/compute/contrib/security_groups.py
+++ b/nova/api/openstack/compute/contrib/security_groups.py
@@ -16,6 +16,7 @@
"""The security groups extension."""
+import contextlib
import json
import webob
from webob import exc
@@ -177,6 +178,25 @@ class SecurityGroupRulesXMLDeserializer(wsgi.MetadataXMLDeserializer):
return sg_rule
+@contextlib.contextmanager
+def translate_exceptions():
+ """Translate nova exceptions to http exceptions."""
+ try:
+ yield
+ except exception.Invalid as exp:
+ msg = exp.format_message()
+ raise exc.HTTPBadRequest(explanation=msg)
+ except exception.SecurityGroupNotFound as exp:
+ msg = exp.format_message()
+ raise exc.HTTPNotFound(explanation=msg)
+ except exception.InstanceNotFound as exp:
+ msg = exp.format_message()
+ raise exc.HTTPNotFound(explanation=msg)
+ except exception.SecurityGroupLimitExceeded as exp:
+ msg = exp.format_message()
+ raise exc.HTTPRequestEntityTooLarge(explanation=msg)
+
+
class SecurityGroupControllerBase(object):
"""Base class for Security Group controllers."""
@@ -196,8 +216,9 @@ class SecurityGroupControllerBase(object):
sg_rule['group'] = {}
sg_rule['ip_range'] = {}
if rule['group_id']:
- source_group = self.security_group_api.get(context,
- id=rule['group_id'])
+ with translate_exceptions():
+ source_group = self.security_group_api.get(context,
+ id=rule['group_id'])
sg_rule['group'] = {'name': source_group.get('name'),
'tenant_id': source_group.get('project_id')}
else:
@@ -233,10 +254,10 @@ class SecurityGroupController(SecurityGroupControllerBase):
"""Return data about the given security group."""
context = _authorize_context(req)
- id = self.security_group_api.validate_id(id)
-
- security_group = self.security_group_api.get(context, None, id,
- map_exception=True)
+ with translate_exceptions():
+ id = self.security_group_api.validate_id(id)
+ security_group = self.security_group_api.get(context, None, id,
+ map_exception=True)
return {'security_group': self._format_security_group(context,
security_group)}
@@ -245,12 +266,11 @@ class SecurityGroupController(SecurityGroupControllerBase):
"""Delete a security group."""
context = _authorize_context(req)
- id = self.security_group_api.validate_id(id)
-
- security_group = self.security_group_api.get(context, None, id,
- map_exception=True)
-
- self.security_group_api.destroy(context, security_group)
+ with translate_exceptions():
+ id = self.security_group_api.validate_id(id)
+ security_group = self.security_group_api.get(context, None, id,
+ map_exception=True)
+ self.security_group_api.destroy(context, security_group)
return webob.Response(status_int=202)
@@ -262,9 +282,11 @@ class SecurityGroupController(SecurityGroupControllerBase):
search_opts = {}
search_opts.update(req.GET)
- raw_groups = self.security_group_api.list(context,
- project=context.project_id,
- search_opts=search_opts)
+ with translate_exceptions():
+ project_id = context.project_id
+ raw_groups = self.security_group_api.list(context,
+ project=project_id,
+ search_opts=search_opts)
limited_list = common.limited(raw_groups, req)
result = [self._format_security_group(context, group)
@@ -285,16 +307,12 @@ class SecurityGroupController(SecurityGroupControllerBase):
group_name = security_group.get('name', None)
group_description = security_group.get('description', None)
- self.security_group_api.validate_property(group_name, 'name', None)
- self.security_group_api.validate_property(group_description,
- 'description', None)
-
- try:
+ with translate_exceptions():
+ self.security_group_api.validate_property(group_name, 'name', None)
+ self.security_group_api.validate_property(group_description,
+ 'description', None)
group_ref = self.security_group_api.create_security_group(
context, group_name, group_description)
- except exception.SecurityGroupLimitExceeded as err:
- raise exc.HTTPRequestEntityTooLarge(
- explanation=err.format_message())
return {'security_group': self._format_security_group(context,
group_ref)}
@@ -304,21 +322,21 @@ class SecurityGroupController(SecurityGroupControllerBase):
"""Update a security group."""
context = _authorize_context(req)
- id = self.security_group_api.validate_id(id)
+ with translate_exceptions():
+ id = self.security_group_api.validate_id(id)
+ security_group = self.security_group_api.get(context, None, id,
+ map_exception=True)
- security_group = self.security_group_api.get(context, None, id,
- map_exception=True)
security_group_data = self._from_body(body, 'security_group')
-
group_name = security_group_data.get('name', None)
group_description = security_group_data.get('description', None)
- self.security_group_api.validate_property(group_name, 'name', None)
- self.security_group_api.validate_property(group_description,
- 'description', None)
-
- group_ref = self.security_group_api.update_security_group(
- context, security_group, group_name, group_description)
+ with translate_exceptions():
+ self.security_group_api.validate_property(group_name, 'name', None)
+ self.security_group_api.validate_property(group_description,
+ 'description', None)
+ group_ref = self.security_group_api.update_security_group(
+ context, security_group, group_name, group_description)
return {'security_group': self._format_security_group(context,
group_ref)}
@@ -333,11 +351,12 @@ class SecurityGroupRulesController(SecurityGroupControllerBase):
sg_rule = self._from_body(body, 'security_group_rule')
- parent_group_id = self.security_group_api.validate_id(
- sg_rule.get('parent_group_id', None))
-
- security_group = self.security_group_api.get(context, None,
- parent_group_id, map_exception=True)
+ with translate_exceptions():
+ parent_group_id = self.security_group_api.validate_id(
+ sg_rule.get('parent_group_id', None))
+ security_group = self.security_group_api.get(context, None,
+ parent_group_id,
+ map_exception=True)
try:
new_rule = self._rule_args_to_dict(context,
to_port=sg_rule.get('to_port'),
@@ -360,13 +379,10 @@ class SecurityGroupRulesController(SecurityGroupControllerBase):
msg = _("Bad prefix for network in cidr %s") % new_rule['cidr']
raise exc.HTTPBadRequest(explanation=msg)
- try:
+ with translate_exceptions():
security_group_rule = (
self.security_group_api.create_security_group_rule(
context, security_group, new_rule))
- except exception.SecurityGroupLimitExceeded as err:
- raise exc.HTTPRequestEntityTooLarge(
- explanation=err.format_message())
return {"security_group_rule": self._format_security_group_rule(
context,
@@ -390,17 +406,15 @@ class SecurityGroupRulesController(SecurityGroupControllerBase):
def delete(self, req, id):
context = _authorize_context(req)
- id = self.security_group_api.validate_id(id)
-
- rule = self.security_group_api.get_rule(context, id)
-
- group_id = rule['parent_group_id']
-
- security_group = self.security_group_api.get(context, None, group_id,
- map_exception=True)
-
- self.security_group_api.remove_rules(context, security_group,
- [rule['id']])
+ with translate_exceptions():
+ id = self.security_group_api.validate_id(id)
+ rule = self.security_group_api.get_rule(context, id)
+ group_id = rule['parent_group_id']
+ security_group = self.security_group_api.get(context, None,
+ group_id,
+ map_exception=True)
+ self.security_group_api.remove_rules(context, security_group,
+ [rule['id']])
return webob.Response(status_int=202)
@@ -414,13 +428,11 @@ class ServerSecurityGroupController(SecurityGroupControllerBase):
self.security_group_api.ensure_default(context)
- try:
+ with translate_exceptions():
instance = self.compute_api.get(context, server_id)
- except exception.InstanceNotFound as exp:
- raise exc.HTTPNotFound(explanation=exp.format_message())
+ groups = self.security_group_api.get_instance_security_groups(
+ context, instance['uuid'], True)
- groups = self.security_group_api.get_instance_security_groups(
- context, instance['uuid'], True)
result = [self._format_security_group(context, group)
for group in groups]
@@ -455,15 +467,9 @@ class SecurityGroupActionController(wsgi.Controller):
return group_name
def _invoke(self, method, context, id, group_name):
- try:
+ with translate_exceptions():
instance = self.compute_api.get(context, id)
method(context, instance, group_name)
- except exception.SecurityGroupNotFound as exp:
- raise exc.HTTPNotFound(explanation=exp.format_message())
- except exception.InstanceNotFound as exp:
- raise exc.HTTPNotFound(explanation=exp.format_message())
- except exception.Invalid as exp:
- raise exc.HTTPBadRequest(explanation=exp.format_message())
return webob.Response(status_int=202)
@@ -642,15 +648,15 @@ class Security_groups(extensions.ExtensionDescriptor):
class NativeSecurityGroupExceptions(object):
@staticmethod
def raise_invalid_property(msg):
- raise exc.HTTPBadRequest(explanation=msg)
+ raise exception.Invalid(msg)
@staticmethod
def raise_group_already_exists(msg):
- raise exc.HTTPBadRequest(explanation=msg)
+ raise exception.Invalid(msg)
@staticmethod
def raise_invalid_group(msg):
- raise exc.HTTPBadRequest(explanation=msg)
+ raise exception.Invalid(msg)
@staticmethod
def raise_invalid_cidr(cidr, decoding_exception=None):
@@ -662,7 +668,7 @@ class NativeSecurityGroupExceptions(object):
@staticmethod
def raise_not_found(msg):
- raise exc.HTTPNotFound(explanation=msg)
+ raise exception.SecurityGroupNotFound(msg)
class NativeNovaSecurityGroupAPI(NativeSecurityGroupExceptions,
diff --git a/nova/api/openstack/compute/contrib/server_password.py b/nova/api/openstack/compute/contrib/server_password.py
index 14ea91ef2..2884e4040 100644
--- a/nova/api/openstack/compute/contrib/server_password.py
+++ b/nova/api/openstack/compute/contrib/server_password.py
@@ -39,7 +39,7 @@ class ServerPasswordTemplate(xmlutil.TemplateBuilder):
class ServerPasswordController(object):
- """The flavor access API controller for the OpenStack API."""
+ """The Server Password API controller for the OpenStack API."""
def __init__(self):
self.compute_api = compute.API()
diff --git a/nova/api/openstack/compute/contrib/server_start_stop.py b/nova/api/openstack/compute/contrib/server_start_stop.py
index 2803cd04b..1734b2cfa 100644
--- a/nova/api/openstack/compute/contrib/server_start_stop.py
+++ b/nova/api/openstack/compute/contrib/server_start_stop.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
import webob
diff --git a/nova/api/openstack/compute/contrib/services.py b/nova/api/openstack/compute/contrib/services.py
index 3a637010a..76eec7ce4 100644
--- a/nova/api/openstack/compute/contrib/services.py
+++ b/nova/api/openstack/compute/contrib/services.py
@@ -183,8 +183,7 @@ class ServiceController(object):
raise webob.exc.HTTPUnprocessableEntity(detail=msg)
try:
- svc = self.host_api.service_update(context, host, binary,
- status_detail)
+ self.host_api.service_update(context, host, binary, status_detail)
except exception.ServiceNotFound:
raise webob.exc.HTTPNotFound(_("Unknown service"))
diff --git a/nova/api/openstack/compute/contrib/used_limits.py b/nova/api/openstack/compute/contrib/used_limits.py
index 5a90a9def..a0fab1594 100644
--- a/nova/api/openstack/compute/contrib/used_limits.py
+++ b/nova/api/openstack/compute/contrib/used_limits.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
from nova.api.openstack import extensions
from nova.api.openstack import wsgi
diff --git a/nova/api/openstack/compute/contrib/used_limits_for_admin.py b/nova/api/openstack/compute/contrib/used_limits_for_admin.py
index a6ec9c002..d2a8af0d7 100644
--- a/nova/api/openstack/compute/contrib/used_limits_for_admin.py
+++ b/nova/api/openstack/compute/contrib/used_limits_for_admin.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
from nova.api.openstack import extensions
diff --git a/nova/api/openstack/compute/contrib/user_data.py b/nova/api/openstack/compute/contrib/user_data.py
index 3e69a65cc..ef5aa6d5a 100644
--- a/nova/api/openstack/compute/contrib/user_data.py
+++ b/nova/api/openstack/compute/contrib/user_data.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
from nova.api.openstack import extensions
diff --git a/nova/api/openstack/compute/extensions.py b/nova/api/openstack/compute/extensions.py
index 5e6633f1d..ac8c04aa0 100644
--- a/nova/api/openstack/compute/extensions.py
+++ b/nova/api/openstack/compute/extensions.py
@@ -19,7 +19,6 @@ from oslo.config import cfg
from nova.api.openstack import extensions as base_extensions
from nova.openstack.common import log as logging
-from nova.openstack.common.plugin import pluginmanager
ext_opts = [
cfg.MultiStrOpt('osapi_compute_extension',
@@ -38,10 +37,6 @@ class ExtensionManager(base_extensions.ExtensionManager):
def __init__(self):
LOG.audit(_('Initializing extension manager.'))
self.cls_list = CONF.osapi_compute_extension
- self.PluginManager = pluginmanager.PluginManager('nova',
- 'compute-extensions')
- self.PluginManager.load_plugins()
- self.cls_list.append(self.PluginManager.plugin_extension_factory)
self.extensions = {}
self.sorted_ext_list = []
self._load_extensions()
diff --git a/nova/api/openstack/compute/flavors.py b/nova/api/openstack/compute/flavors.py
index 4da130e9b..c6303646a 100644
--- a/nova/api/openstack/compute/flavors.py
+++ b/nova/api/openstack/compute/flavors.py
@@ -24,6 +24,7 @@ from nova.api.openstack import xmlutil
from nova.compute import flavors
from nova import exception
from nova.openstack.common import strutils
+from nova import utils
def make_flavor(elem, detailed=False):
@@ -98,7 +99,7 @@ class Controller(wsgi.Controller):
if is_public is None:
# preserve default value of showing only public flavors
return True
- elif is_public == 'none':
+ elif utils.is_none_string(is_public):
return None
else:
try:
diff --git a/nova/api/openstack/compute/limits.py b/nova/api/openstack/compute/limits.py
index 07e791306..107f40436 100644
--- a/nova/api/openstack/compute/limits.py
+++ b/nova/api/openstack/compute/limits.py
@@ -33,19 +33,13 @@ from nova.api.openstack import xmlutil
from nova.openstack.common import importutils
from nova.openstack.common import jsonutils
from nova import quota
+from nova import utils
from nova import wsgi as base_wsgi
QUOTAS = quota.QUOTAS
-# Convenience constants for the limits dictionary passed to Limiter().
-PER_SECOND = 1
-PER_MINUTE = 60
-PER_HOUR = 60 * 60
-PER_DAY = 60 * 60 * 24
-
-
limits_nsmap = {None: xmlutil.XMLNS_COMMON_V10, 'atom': xmlutil.XMLNS_ATOM}
@@ -122,14 +116,7 @@ class Limit(object):
Stores information about a limit for HTTP requests.
"""
- UNITS = {
- 1: "SECOND",
- 60: "MINUTE",
- 60 * 60: "HOUR",
- 60 * 60 * 24: "DAY",
- }
-
- UNIT_MAP = dict([(v, k) for k, v in UNITS.items()])
+ UNITS = dict([(v, k) for k, v in utils.TIME_UNITS.items()])
def __init__(self, verb, uri, regex, value, unit):
"""
@@ -223,12 +210,13 @@ class Limit(object):
# a regular-expression to match, value and unit of measure (PER_DAY, etc.)
DEFAULT_LIMITS = [
- Limit("POST", "*", ".*", 10, PER_MINUTE),
- Limit("POST", "*/servers", "^/servers", 50, PER_DAY),
- Limit("PUT", "*", ".*", 10, PER_MINUTE),
- Limit("GET", "*changes-since*", ".*changes-since.*", 3, PER_MINUTE),
- Limit("DELETE", "*", ".*", 100, PER_MINUTE),
- Limit("GET", "*/os-fping", "^/os-fping", 12, PER_HOUR),
+ Limit("POST", "*", ".*", 10, utils.TIME_UNITS['MINUTE']),
+ Limit("POST", "*/servers", "^/servers", 50, utils.TIME_UNITS['DAY']),
+ Limit("PUT", "*", ".*", 10, utils.TIME_UNITS['MINUTE']),
+ Limit("GET", "*changes-since*", ".*changes-since.*", 3,
+ utils.TIME_UNITS['MINUTE']),
+ Limit("DELETE", "*", ".*", 100, utils.TIME_UNITS['MINUTE']),
+ Limit("GET", "*/os-fping", "^/os-fping", 12, utils.TIME_UNITS['HOUR']),
]
@@ -390,9 +378,9 @@ class Limiter(object):
# Convert unit
unit = unit.upper()
- if unit not in Limit.UNIT_MAP:
+ if unit not in utils.TIME_UNITS:
raise ValueError("Invalid units specified")
- unit = Limit.UNIT_MAP[unit]
+ unit = utils.TIME_UNITS[unit]
# Build a limit
result.append(Limit(verb, uri, regex, value, unit))
diff --git a/nova/api/openstack/compute/plugins/v3/agents.py b/nova/api/openstack/compute/plugins/v3/agents.py
new file mode 100644
index 000000000..02e752dac
--- /dev/null
+++ b/nova/api/openstack/compute/plugins/v3/agents.py
@@ -0,0 +1,168 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2012 IBM Corp.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+
+import webob.exc
+
+from nova.api.openstack import extensions
+from nova.api.openstack import wsgi
+from nova.api.openstack import xmlutil
+from nova import db
+from nova import exception
+
+
+authorize = extensions.extension_authorizer('compute', 'agents')
+
+
+class AgentsIndexTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('agents')
+ elem = xmlutil.SubTemplateElement(root, 'agent', selector='agents')
+ elem.set('hypervisor')
+ elem.set('os')
+ elem.set('architecture')
+ elem.set('version')
+ elem.set('md5hash')
+ elem.set('agent_id')
+ elem.set('url')
+
+ return xmlutil.MasterTemplate(root, 1)
+
+
+class AgentController(object):
+ """
+ The agent is talking about guest agent.The host can use this for
+ things like accessing files on the disk, configuring networking,
+ or running other applications/scripts in the guest while it is
+ running. Typically this uses some hypervisor-specific transport
+ to avoid being dependent on a working network configuration.
+ Xen, VMware, and VirtualBox have guest agents,although the Xen
+ driver is the only one with an implementation for managing them
+ in openstack. KVM doesn't really have a concept of a guest agent
+ (although one could be written).
+
+ You can find the design of agent update in this link:
+ http://wiki.openstack.org/AgentUpdate
+ and find the code in nova.virt.xenapi.vmops.VMOps._boot_new_instance.
+ In this design We need update agent in guest from host, so we need
+ some interfaces to update the agent info in host.
+
+ You can find more information about the design of the GuestAgent in
+ the following link:
+ http://wiki.openstack.org/GuestAgent
+ http://wiki.openstack.org/GuestAgentXenStoreCommunication
+ """
+ @wsgi.serializers(xml=AgentsIndexTemplate)
+ def index(self, req):
+ """
+ Return a list of all agent builds. Filter by hypervisor.
+ """
+ context = req.environ['nova.context']
+ authorize(context)
+ hypervisor = None
+ agents = []
+ if 'hypervisor' in req.GET:
+ hypervisor = req.GET['hypervisor']
+
+ for agent_build in db.agent_build_get_all(context, hypervisor):
+ agents.append({'hypervisor': agent_build.hypervisor,
+ 'os': agent_build.os,
+ 'architecture': agent_build.architecture,
+ 'version': agent_build.version,
+ 'md5hash': agent_build.md5hash,
+ 'agent_id': agent_build.id,
+ 'url': agent_build.url})
+
+ return {'agents': agents}
+
+ def update(self, req, id, body):
+ """Update an existing agent build."""
+ context = req.environ['nova.context']
+ authorize(context)
+
+ try:
+ para = body['para']
+ url = para['url']
+ md5hash = para['md5hash']
+ version = para['version']
+ except (TypeError, KeyError):
+ raise webob.exc.HTTPUnprocessableEntity()
+
+ try:
+ db.agent_build_update(context, id,
+ {'version': version,
+ 'url': url,
+ 'md5hash': md5hash})
+ except exception.AgentBuildNotFound as ex:
+ raise webob.exc.HTTPNotFound(explanation=ex.format_message())
+
+ return {"agent": {'agent_id': id, 'version': version,
+ 'url': url, 'md5hash': md5hash}}
+
+ def delete(self, req, id):
+ """Deletes an existing agent build."""
+ context = req.environ['nova.context']
+ authorize(context)
+
+ try:
+ db.agent_build_destroy(context, id)
+ except exception.AgentBuildNotFound as ex:
+ raise webob.exc.HTTPNotFound(explanation=ex.format_message())
+
+ def create(self, req, body):
+ """Creates a new agent build."""
+ context = req.environ['nova.context']
+ authorize(context)
+
+ try:
+ agent = body['agent']
+ hypervisor = agent['hypervisor']
+ os = agent['os']
+ architecture = agent['architecture']
+ version = agent['version']
+ url = agent['url']
+ md5hash = agent['md5hash']
+ except (TypeError, KeyError):
+ raise webob.exc.HTTPUnprocessableEntity()
+
+ try:
+ agent_build_ref = db.agent_build_create(context,
+ {'hypervisor': hypervisor,
+ 'os': os,
+ 'architecture': architecture,
+ 'version': version,
+ 'url': url,
+ 'md5hash': md5hash})
+ agent['agent_id'] = agent_build_ref.id
+ except Exception as ex:
+ raise webob.exc.HTTPServerError(str(ex))
+ return {'agent': agent}
+
+
+class Agents(extensions.ExtensionDescriptor):
+ """Agents support."""
+
+ name = "Agents"
+ alias = "os-agents"
+ namespace = "http://docs.openstack.org/compute/ext/agents/api/v2"
+ updated = "2012-10-28T00:00:00-00:00"
+
+ def get_resources(self):
+ resources = []
+ resource = extensions.ResourceExtension('os-agents',
+ AgentController())
+ resources.append(resource)
+ return resources
diff --git a/nova/api/openstack/compute/plugins/v3/cells.py b/nova/api/openstack/compute/plugins/v3/cells.py
new file mode 100644
index 000000000..e07792018
--- /dev/null
+++ b/nova/api/openstack/compute/plugins/v3/cells.py
@@ -0,0 +1,347 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2011-2012 OpenStack Foundation
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+"""The cells extension."""
+
+from oslo.config import cfg
+from webob import exc
+
+from nova.api.openstack import common
+from nova.api.openstack import extensions
+from nova.api.openstack import wsgi
+from nova.api.openstack import xmlutil
+from nova.cells import rpcapi as cells_rpcapi
+from nova.compute import api as compute
+from nova import db
+from nova import exception
+from nova.openstack.common import log as logging
+from nova.openstack.common import timeutils
+
+
+LOG = logging.getLogger(__name__)
+CONF = cfg.CONF
+CONF.import_opt('name', 'nova.cells.opts', group='cells')
+CONF.import_opt('capabilities', 'nova.cells.opts', group='cells')
+
+ALIAS = "os-cells"
+authorize = extensions.extension_authorizer('compute', 'v3:' + ALIAS)
+
+
+def make_cell(elem):
+ elem.set('name')
+ elem.set('username')
+ elem.set('type')
+ elem.set('rpc_host')
+ elem.set('rpc_port')
+
+ caps = xmlutil.SubTemplateElement(elem, 'capabilities',
+ selector='capabilities')
+ cap = xmlutil.SubTemplateElement(caps, xmlutil.Selector(0),
+ selector=xmlutil.get_items)
+ cap.text = 1
+ make_capacity(elem)
+
+
+def make_capacity(cell):
+
+ def get_units_by_mb(capacity_info):
+ return capacity_info['units_by_mb'].items()
+
+ capacity = xmlutil.SubTemplateElement(cell, 'capacities',
+ selector='capacities')
+
+ ram_free = xmlutil.SubTemplateElement(capacity, 'ram_free',
+ selector='ram_free')
+ ram_free.set('total_mb', 'total_mb')
+ unit_by_mb = xmlutil.SubTemplateElement(ram_free, 'unit_by_mb',
+ selector=get_units_by_mb)
+ unit_by_mb.set('mb', 0)
+ unit_by_mb.set('unit', 1)
+
+ disk_free = xmlutil.SubTemplateElement(capacity, 'disk_free',
+ selector='disk_free')
+ disk_free.set('total_mb', 'total_mb')
+ unit_by_mb = xmlutil.SubTemplateElement(disk_free, 'unit_by_mb',
+ selector=get_units_by_mb)
+ unit_by_mb.set('mb', 0)
+ unit_by_mb.set('unit', 1)
+
+cell_nsmap = {None: wsgi.XMLNS_V10}
+
+
+class CellTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('cell', selector='cell')
+ make_cell(root)
+ return xmlutil.MasterTemplate(root, 1, nsmap=cell_nsmap)
+
+
+class CellsTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('cells')
+ elem = xmlutil.SubTemplateElement(root, 'cell', selector='cells')
+ make_cell(elem)
+ return xmlutil.MasterTemplate(root, 1, nsmap=cell_nsmap)
+
+
+class CellDeserializer(wsgi.XMLDeserializer):
+ """Deserializer to handle xml-formatted cell create requests."""
+
+ def _extract_capabilities(self, cap_node):
+ caps = {}
+ for cap in cap_node.childNodes:
+ cap_name = cap.tagName
+ caps[cap_name] = self.extract_text(cap)
+ return caps
+
+ def _extract_cell(self, node):
+ cell = {}
+ cell_node = self.find_first_child_named(node, 'cell')
+
+ extract_fns = {'capabilities': self._extract_capabilities}
+
+ for child in cell_node.childNodes:
+ name = child.tagName
+ extract_fn = extract_fns.get(name, self.extract_text)
+ cell[name] = extract_fn(child)
+ return cell
+
+ def default(self, string):
+ """Deserialize an xml-formatted cell create request."""
+ node = xmlutil.safe_minidom_parse_string(string)
+
+ return {'body': {'cell': self._extract_cell(node)}}
+
+
+def _filter_keys(item, keys):
+ """
+ Filters all model attributes except for keys
+ item is a dict
+
+ """
+ return dict((k, v) for k, v in item.iteritems() if k in keys)
+
+
+def _scrub_cell(cell, detail=False):
+ keys = ['name', 'username', 'rpc_host', 'rpc_port']
+ if detail:
+ keys.append('capabilities')
+
+ cell_info = _filter_keys(cell, keys)
+ cell_info['type'] = 'parent' if cell['is_parent'] else 'child'
+ return cell_info
+
+
+class CellsController(object):
+ """Controller for Cell resources."""
+
+ def __init__(self):
+ self.compute_api = compute.API()
+ self.cells_rpcapi = cells_rpcapi.CellsAPI()
+
+ def _get_cells(self, ctxt, req, detail=False):
+ """Return all cells."""
+ # Ask the CellsManager for the most recent data
+ items = self.cells_rpcapi.get_cell_info_for_neighbors(ctxt)
+ items = common.limited(items, req)
+ items = [_scrub_cell(item, detail=detail) for item in items]
+ return dict(cells=items)
+
+ @wsgi.serializers(xml=CellsTemplate)
+ def index(self, req):
+ """Return all cells in brief."""
+ ctxt = req.environ['nova.context']
+ authorize(ctxt)
+ return self._get_cells(ctxt, req)
+
+ @wsgi.serializers(xml=CellsTemplate)
+ def detail(self, req):
+ """Return all cells in detail."""
+ ctxt = req.environ['nova.context']
+ authorize(ctxt)
+ return self._get_cells(ctxt, req, detail=True)
+
+ @wsgi.serializers(xml=CellTemplate)
+ def info(self, req):
+ """Return name and capabilities for this cell."""
+ context = req.environ['nova.context']
+ authorize(context)
+ cell_capabs = {}
+ my_caps = CONF.cells.capabilities
+ for cap in my_caps:
+ key, value = cap.split('=')
+ cell_capabs[key] = value
+ cell = {'name': CONF.cells.name,
+ 'type': 'self',
+ 'rpc_host': None,
+ 'rpc_port': 0,
+ 'username': None,
+ 'capabilities': cell_capabs}
+ return dict(cell=cell)
+
+ @wsgi.serializers(xml=CellTemplate)
+ def capacities(self, req, id=None):
+ """Return capacities for a given cell or all cells."""
+ # TODO(kaushikc): return capacities as a part of cell info and
+ # cells detail calls in v3, along with capabilities
+ context = req.environ['nova.context']
+ authorize(context)
+ try:
+ capacities = self.cells_rpcapi.get_capacities(context,
+ cell_name=id)
+ except exception.CellNotFound:
+ msg = (_("Cell %(id)s not found.") % {'id': id})
+ raise exc.HTTPNotFound(explanation=msg)
+
+ return dict(cell={"capacities": capacities})
+
+ @wsgi.serializers(xml=CellTemplate)
+ def show(self, req, id):
+ """Return data about the given cell name. 'id' is a cell name."""
+ context = req.environ['nova.context']
+ authorize(context)
+ try:
+ cell = db.cell_get(context, id)
+ except exception.CellNotFound:
+ raise exc.HTTPNotFound()
+ return dict(cell=_scrub_cell(cell))
+
+ def delete(self, req, id):
+ """Delete a child or parent cell entry. 'id' is a cell name."""
+ context = req.environ['nova.context']
+ authorize(context)
+ num_deleted = db.cell_delete(context, id)
+ if num_deleted == 0:
+ raise exc.HTTPNotFound()
+ return {}
+
+ def _validate_cell_name(self, cell_name):
+ """Validate cell name is not empty and doesn't contain '!' or '.'."""
+ if not cell_name:
+ msg = _("Cell name cannot be empty")
+ LOG.error(msg)
+ raise exc.HTTPBadRequest(explanation=msg)
+ if '!' in cell_name or '.' in cell_name:
+ msg = _("Cell name cannot contain '!' or '.'")
+ LOG.error(msg)
+ raise exc.HTTPBadRequest(explanation=msg)
+
+ def _validate_cell_type(self, cell_type):
+ """Validate cell_type is 'parent' or 'child'."""
+ if cell_type not in ['parent', 'child']:
+ msg = _("Cell type must be 'parent' or 'child'")
+ LOG.error(msg)
+ raise exc.HTTPBadRequest(explanation=msg)
+
+ def _convert_cell_type(self, cell):
+ """Convert cell['type'] to is_parent boolean."""
+ if 'type' in cell:
+ self._validate_cell_type(cell['type'])
+ cell['is_parent'] = cell['type'] == 'parent'
+ del cell['type']
+ else:
+ cell['is_parent'] = False
+
+ @wsgi.serializers(xml=CellTemplate)
+ @wsgi.deserializers(xml=CellDeserializer)
+ def create(self, req, body):
+ """Create a child cell entry."""
+ context = req.environ['nova.context']
+ authorize(context)
+ if 'cell' not in body:
+ msg = _("No cell information in request")
+ LOG.error(msg)
+ raise exc.HTTPBadRequest(explanation=msg)
+ cell = body['cell']
+ if 'name' not in cell:
+ msg = _("No cell name in request")
+ LOG.error(msg)
+ raise exc.HTTPBadRequest(explanation=msg)
+ self._validate_cell_name(cell['name'])
+ self._convert_cell_type(cell)
+ cell = db.cell_create(context, cell)
+ return dict(cell=_scrub_cell(cell))
+
+ @wsgi.serializers(xml=CellTemplate)
+ @wsgi.deserializers(xml=CellDeserializer)
+ def update(self, req, id, body):
+ """Update a child cell entry. 'id' is the cell name to update."""
+ context = req.environ['nova.context']
+ authorize(context)
+ if 'cell' not in body:
+ msg = _("No cell information in request")
+ LOG.error(msg)
+ raise exc.HTTPBadRequest(explanation=msg)
+ cell = body['cell']
+ cell.pop('id', None)
+ if 'name' in cell:
+ self._validate_cell_name(cell['name'])
+ self._convert_cell_type(cell)
+ try:
+ cell = db.cell_update(context, id, cell)
+ except exception.CellNotFound:
+ raise exc.HTTPNotFound()
+ return dict(cell=_scrub_cell(cell))
+
+ def sync_instances(self, req, body):
+ """Tell all cells to sync instance info."""
+ context = req.environ['nova.context']
+ authorize(context)
+ project_id = body.pop('project_id', None)
+ deleted = body.pop('deleted', False)
+ updated_since = body.pop('updated_since', None)
+ if body:
+ msg = _("Only 'updated_since' and 'project_id' are understood.")
+ raise exc.HTTPBadRequest(explanation=msg)
+ if updated_since:
+ try:
+ timeutils.parse_isotime(updated_since)
+ except ValueError:
+ msg = _('Invalid changes-since value')
+ raise exc.HTTPBadRequest(explanation=msg)
+ self.cells_rpcapi.sync_instances(context, project_id=project_id,
+ updated_since=updated_since, deleted=deleted)
+
+
+class Cells(extensions.V3APIExtensionBase):
+ """Enables cells-related functionality such as adding neighbor cells,
+ listing neighbor cells, and getting the capabilities of the local cell.
+ """
+
+ name = "Cells"
+ alias = ALIAS
+ namespace = "http://docs.openstack.org/compute/ext/cells/api/v3"
+ version = 1
+
+ def get_resources(self):
+ coll_actions = {
+ 'detail': 'GET',
+ 'info': 'GET',
+ 'sync_instances': 'POST',
+ 'capacities': 'GET',
+ }
+ memb_actions = {
+ 'capacities': 'GET',
+ }
+
+ res = extensions.ResourceExtension(ALIAS, CellsController(),
+ collection_actions=coll_actions,
+ member_actions=memb_actions)
+ return [res]
+
+ def get_controller_extensions(self):
+ return []
diff --git a/nova/api/openstack/compute/plugins/v3/certificates.py b/nova/api/openstack/compute/plugins/v3/certificates.py
new file mode 100644
index 000000000..175780f9c
--- /dev/null
+++ b/nova/api/openstack/compute/plugins/v3/certificates.py
@@ -0,0 +1,97 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright (c) 2012 OpenStack Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License
+
+import webob.exc
+
+from nova.api.openstack import extensions
+from nova.api.openstack import wsgi
+from nova.api.openstack import xmlutil
+import nova.cert.rpcapi
+from nova import network
+
+ALIAS = "os-certificates"
+authorize = extensions.extension_authorizer('compute', 'v3:' + ALIAS)
+
+
+def make_certificate(elem):
+ elem.set('data')
+ elem.set('private_key')
+
+
+class CertificateTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('certificate',
+ selector='certificate')
+ make_certificate(root)
+ return xmlutil.MasterTemplate(root, 1)
+
+
+def _translate_certificate_view(certificate, private_key=None):
+ return {
+ 'data': certificate,
+ 'private_key': private_key,
+ }
+
+
+class CertificatesController(object):
+ """The x509 Certificates API controller for the OpenStack API."""
+
+ def __init__(self):
+ self.network_api = network.API()
+ self.cert_rpcapi = nova.cert.rpcapi.CertAPI()
+ super(CertificatesController, self).__init__()
+
+ @wsgi.serializers(xml=CertificateTemplate)
+ def show(self, req, id):
+ """Return certificate information."""
+ context = req.environ['nova.context']
+ authorize(context)
+ if id != 'root':
+ msg = _("Only root certificate can be retrieved.")
+ raise webob.exc.HTTPNotImplemented(explanation=msg)
+ cert = self.cert_rpcapi.fetch_ca(context,
+ project_id=context.project_id)
+ return {'certificate': _translate_certificate_view(cert)}
+
+ @wsgi.serializers(xml=CertificateTemplate)
+ def create(self, req, body=None):
+ """Create a certificate."""
+ context = req.environ['nova.context']
+ authorize(context)
+ pk, cert = self.cert_rpcapi.generate_x509_cert(context,
+ user_id=context.user_id, project_id=context.project_id)
+ context = req.environ['nova.context']
+ return {'certificate': _translate_certificate_view(cert, pk)}
+
+
+class Certificates(extensions.V3APIExtensionBase):
+ """Certificates support."""
+
+ name = "Certificates"
+ alias = ALIAS
+ namespace = ("http://docs.openstack.org/compute/ext/"
+ "certificates/api/v3")
+ version = 1
+
+ def get_resources(self):
+ resources = [
+ extensions.ResourceExtension('os-certificates',
+ CertificatesController(),
+ member_actions={})]
+ return resources
+
+ def get_controller_extensions(self):
+ return []
diff --git a/nova/api/openstack/compute/plugins/v3/evacuate.py b/nova/api/openstack/compute/plugins/v3/evacuate.py
new file mode 100644
index 000000000..86e90e03e
--- /dev/null
+++ b/nova/api/openstack/compute/plugins/v3/evacuate.py
@@ -0,0 +1,101 @@
+# Copyright 2013 OpenStack Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+
+from webob import exc
+
+from nova.api.openstack import common
+from nova.api.openstack import extensions
+from nova.api.openstack import wsgi
+from nova import compute
+from nova import exception
+from nova.openstack.common import log as logging
+from nova.openstack.common import strutils
+from nova import utils
+
+LOG = logging.getLogger(__name__)
+ALIAS = "os-evacuate"
+authorize = extensions.extension_authorizer('compute', 'v3:' + ALIAS)
+
+
+class EvacuateController(wsgi.Controller):
+ def __init__(self, *args, **kwargs):
+ super(EvacuateController, self).__init__(*args, **kwargs)
+ self.compute_api = compute.API()
+
+ @wsgi.action('evacuate')
+ def _evacuate(self, req, id, body):
+ """
+ Permit admins to evacuate a server from a failed host
+ to a new one.
+ """
+ context = req.environ["nova.context"]
+ authorize(context)
+
+ try:
+ if len(body) != 1:
+ raise exc.HTTPBadRequest(_("Malformed request body"))
+
+ evacuate_body = body["evacuate"]
+ host = evacuate_body["host"]
+ on_shared_storage = strutils.bool_from_string(
+ evacuate_body["onSharedStorage"])
+
+ password = None
+ if 'adminPass' in evacuate_body:
+ # check that if requested to evacuate server on shared storage
+ # password not specified
+ if on_shared_storage:
+ msg = _("admin password can't be changed on existing disk")
+ raise exc.HTTPBadRequest(explanation=msg)
+
+ password = evacuate_body['adminPass']
+ elif not on_shared_storage:
+ password = utils.generate_password()
+
+ except (TypeError, KeyError):
+ msg = _("host and onSharedStorage must be specified.")
+ raise exc.HTTPBadRequest(explanation=msg)
+
+ try:
+ instance = self.compute_api.get(context, id)
+ self.compute_api.evacuate(context, instance, host,
+ on_shared_storage, password)
+ except exception.InstanceInvalidState as state_error:
+ common.raise_http_conflict_for_instance_invalid_state(state_error,
+ 'evacuate')
+ except Exception as e:
+ msg = _("Error in evacuate, %s") % e
+ LOG.exception(msg, instance=instance)
+ raise exc.HTTPBadRequest(explanation=msg)
+
+ if password:
+ return {'adminPass': password}
+
+
+class Evacuate(extensions.V3APIExtensionBase):
+ """Enables server evacuation."""
+
+ name = "Evacuate"
+ alias = ALIAS
+ namespace = "http://docs.openstack.org/compute/ext/evacuate/api/v3"
+ version = 1
+
+ def get_resources(self):
+ return []
+
+ def get_controller_extensions(self):
+ controller = EvacuateController()
+ extension = extensions.ControllerExtension(self, 'servers', controller)
+ return [extension]
diff --git a/nova/api/openstack/compute/plugins/v3/extension_info.py b/nova/api/openstack/compute/plugins/v3/extension_info.py
index 43b0551c7..c626f6104 100644
--- a/nova/api/openstack/compute/plugins/v3/extension_info.py
+++ b/nova/api/openstack/compute/plugins/v3/extension_info.py
@@ -19,6 +19,10 @@ import webob.exc
from nova.api.openstack import extensions
from nova.api.openstack import wsgi
from nova.api.openstack import xmlutil
+from nova.openstack.common import log as logging
+
+
+LOG = logging.getLogger(__name__)
def make_ext(elem):
@@ -64,11 +68,25 @@ class ExtensionInfoController(object):
ext_data['version'] = ext.version
return ext_data
+ def _get_extensions(self, context):
+ """Filter extensions list based on policy"""
+
+ discoverable_extensions = dict()
+ for alias, ext in self.extension_info.get_extensions().iteritems():
+ authorize = extensions.soft_extension_authorizer(
+ 'compute', 'v3:' + alias)
+ if authorize(context, action='discoverable'):
+ discoverable_extensions[alias] = ext
+ else:
+ LOG.debug(_("Filter out extension %s from discover list"), alias)
+ return discoverable_extensions
+
@wsgi.serializers(xml=ExtensionsTemplate)
def index(self, req):
+ context = req.environ['nova.context']
sorted_ext_list = sorted(
- self.extension_info.get_extensions().iteritems())
+ self._get_extensions(context).iteritems())
extensions = []
for _alias, ext in sorted_ext_list:
@@ -77,9 +95,10 @@ class ExtensionInfoController(object):
@wsgi.serializers(xml=ExtensionTemplate)
def show(self, req, id):
+ context = req.environ['nova.context']
try:
# NOTE(dprince): the extensions alias is used as the 'id' for show
- ext = self.extension_info.get_extensions()[id]
+ ext = self._get_extensions(context)[id]
except KeyError:
raise webob.exc.HTTPNotFound()
diff --git a/nova/api/openstack/compute/plugins/v3/fixed_ips.py b/nova/api/openstack/compute/plugins/v3/fixed_ips.py
index e98b830bd..5fa4ae3c2 100644
--- a/nova/api/openstack/compute/plugins/v3/fixed_ips.py
+++ b/nova/api/openstack/compute/plugins/v3/fixed_ips.py
@@ -28,6 +28,7 @@ authorize = extensions.extension_authorizer('compute', 'v3:' + ALIAS)
class FixedIPController(object):
+ @extensions.expected_errors(404)
def show(self, req, id):
"""Return data about the given fixed ip."""
context = req.environ['nova.context']
@@ -55,6 +56,7 @@ class FixedIPController(object):
return fixed_ip_info
+ @extensions.expected_errors((400, 404))
def action(self, req, id, body):
context = req.environ['nova.context']
authorize(context)
diff --git a/nova/api/openstack/compute/plugins/v3/flavor_access.py b/nova/api/openstack/compute/plugins/v3/flavor_access.py
new file mode 100644
index 000000000..459a4041b
--- /dev/null
+++ b/nova/api/openstack/compute/plugins/v3/flavor_access.py
@@ -0,0 +1,220 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright (c) 2011 OpenStack Foundation
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+"""The flavor access extension."""
+
+import webob
+
+from nova.api.openstack import extensions
+from nova.api.openstack import wsgi
+from nova.api.openstack import xmlutil
+from nova.compute import flavors
+from nova import exception
+
+ALIAS = 'os-flavor-access'
+authorize = extensions.soft_extension_authorizer('compute', 'v3:' + ALIAS)
+
+
+def make_flavor(elem):
+ elem.set('{%s}is_public' % FlavorAccess.namespace,
+ '%s:is_public' % FlavorAccess.alias)
+
+
+def make_flavor_access(elem):
+ elem.set('flavor_id')
+ elem.set('tenant_id')
+
+
+class FlavorTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('flavor', selector='flavor')
+ make_flavor(root)
+ alias = FlavorAccess.alias
+ namespace = FlavorAccess.namespace
+ return xmlutil.SlaveTemplate(root, 1, nsmap={alias: namespace})
+
+
+class FlavorsTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('flavors')
+ elem = xmlutil.SubTemplateElement(root, 'flavor', selector='flavors')
+ make_flavor(elem)
+ alias = FlavorAccess.alias
+ namespace = FlavorAccess.namespace
+ return xmlutil.SlaveTemplate(root, 1, nsmap={alias: namespace})
+
+
+class FlavorAccessTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('flavor_access')
+ elem = xmlutil.SubTemplateElement(root, 'access',
+ selector='flavor_access')
+ make_flavor_access(elem)
+ return xmlutil.MasterTemplate(root, 1)
+
+
+def _marshall_flavor_access(flavor_id):
+ rval = []
+ try:
+ access_list = flavors.\
+ get_flavor_access_by_flavor_id(flavor_id)
+ except exception.FlavorNotFound:
+ explanation = _("Flavor not found.")
+ raise webob.exc.HTTPNotFound(explanation=explanation)
+
+ for access in access_list:
+ rval.append({'flavor_id': flavor_id,
+ 'tenant_id': access['project_id']})
+
+ return {'flavor_access': rval}
+
+
+class FlavorAccessController(object):
+ """The flavor access API controller for the OpenStack API."""
+
+ def __init__(self):
+ super(FlavorAccessController, self).__init__()
+
+ @wsgi.serializers(xml=FlavorAccessTemplate)
+ def index(self, req, flavor_id):
+ context = req.environ['nova.context']
+ authorize(context)
+
+ try:
+ flavor = flavors.get_flavor_by_flavor_id(flavor_id)
+ except exception.FlavorNotFound:
+ explanation = _("Flavor not found.")
+ raise webob.exc.HTTPNotFound(explanation=explanation)
+
+ # public flavor to all projects
+ if flavor['is_public']:
+ explanation = _("Access list not available for public flavors.")
+ raise webob.exc.HTTPNotFound(explanation=explanation)
+
+ # private flavor to listed projects only
+ return _marshall_flavor_access(flavor_id)
+
+
+class FlavorActionController(wsgi.Controller):
+ """The flavor access API controller for the OpenStack API."""
+
+ def _check_body(self, body):
+ if body is None or body == "":
+ raise webob.exc.HTTPBadRequest(explanation=_("No request body"))
+
+ def _get_flavor_refs(self, context):
+ """Return a dictionary mapping flavorid to flavor_ref."""
+
+ flavor_refs = flavors.get_all_flavors(context)
+ rval = {}
+ for name, obj in flavor_refs.iteritems():
+ rval[obj['flavorid']] = obj
+ return rval
+
+ def _extend_flavor(self, flavor_rval, flavor_ref):
+ key = "%s:is_public" % (FlavorAccess.alias)
+ flavor_rval[key] = flavor_ref['is_public']
+
+ @wsgi.extends
+ def show(self, req, resp_obj, id):
+ context = req.environ['nova.context']
+ if authorize(context):
+ # Attach our slave template to the response object
+ resp_obj.attach(xml=FlavorTemplate())
+ db_flavor = req.get_db_flavor(id)
+
+ self._extend_flavor(resp_obj.obj['flavor'], db_flavor)
+
+ @wsgi.extends
+ def detail(self, req, resp_obj):
+ context = req.environ['nova.context']
+ if authorize(context):
+ # Attach our slave template to the response object
+ resp_obj.attach(xml=FlavorsTemplate())
+
+ flavors = list(resp_obj.obj['flavors'])
+ for flavor_rval in flavors:
+ db_flavor = req.get_db_flavor(flavor_rval['id'])
+ self._extend_flavor(flavor_rval, db_flavor)
+
+ @wsgi.extends(action='create')
+ def create(self, req, body, resp_obj):
+ context = req.environ['nova.context']
+ if authorize(context):
+ # Attach our slave template to the response object
+ resp_obj.attach(xml=FlavorTemplate())
+
+ db_flavor = req.get_db_flavor(resp_obj.obj['flavor']['id'])
+
+ self._extend_flavor(resp_obj.obj['flavor'], db_flavor)
+
+ @wsgi.serializers(xml=FlavorAccessTemplate)
+ @wsgi.action("addTenantAccess")
+ def _addTenantAccess(self, req, id, body):
+ context = req.environ['nova.context']
+ authorize(context)
+ self._check_body(body)
+
+ vals = body['addTenantAccess']
+ tenant = vals['tenant']
+
+ try:
+ flavors.add_flavor_access(id, tenant, context)
+ except exception.FlavorAccessExists as err:
+ raise webob.exc.HTTPConflict(explanation=err.format_message())
+
+ return _marshall_flavor_access(id)
+
+ @wsgi.serializers(xml=FlavorAccessTemplate)
+ @wsgi.action("removeTenantAccess")
+ def _removeTenantAccess(self, req, id, body):
+ context = req.environ['nova.context']
+ authorize(context)
+ self._check_body(body)
+
+ vals = body['removeTenantAccess']
+ tenant = vals['tenant']
+
+ try:
+ flavors.remove_flavor_access(id, tenant, context)
+ except exception.FlavorAccessNotFound as e:
+ raise webob.exc.HTTPNotFound(explanation=e.format_message())
+
+ return _marshall_flavor_access(id)
+
+
+class FlavorAccess(extensions.V3APIExtensionBase):
+ """Flavor access support."""
+
+ name = "FlavorAccess"
+ alias = ALIAS
+ namespace = "http://docs.openstack.org/compute/ext/%s/api/v3" % ALIAS
+ version = 1
+
+ def get_resources(self):
+ res = extensions.ResourceExtension(
+ ALIAS,
+ controller=FlavorAccessController(),
+ parent=dict(member_name='flavor', collection_name='flavors'))
+
+ return [res]
+
+ def get_controller_extensions(self):
+ extension = extensions.ControllerExtension(
+ self, 'flavors', FlavorActionController())
+
+ return [extension]
diff --git a/nova/api/openstack/compute/plugins/v3/flavor_disabled.py b/nova/api/openstack/compute/plugins/v3/flavor_disabled.py
new file mode 100644
index 000000000..79f6df9ce
--- /dev/null
+++ b/nova/api/openstack/compute/plugins/v3/flavor_disabled.py
@@ -0,0 +1,91 @@
+# Copyright 2012 Nebula, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+"""The Flavor Disabled API extension."""
+
+from nova.api.openstack import extensions
+from nova.api.openstack import wsgi
+from nova.api.openstack import xmlutil
+
+ALIAS = 'os-flavor-disabled'
+authorize = extensions.soft_extension_authorizer('compute', 'v3:' + ALIAS)
+
+
+class FlavorDisabledController(wsgi.Controller):
+ def _extend_flavors(self, req, flavors):
+ for flavor in flavors:
+ db_flavor = req.get_db_flavor(flavor['id'])
+ key = "%s:disabled" % FlavorDisabled.alias
+ flavor[key] = db_flavor['disabled']
+
+ def _show(self, req, resp_obj):
+ if not authorize(req.environ['nova.context']):
+ return
+ if 'flavor' in resp_obj.obj:
+ resp_obj.attach(xml=FlavorDisabledTemplate())
+ self._extend_flavors(req, [resp_obj.obj['flavor']])
+
+ @wsgi.extends
+ def show(self, req, resp_obj, id):
+ return self._show(req, resp_obj)
+
+ @wsgi.extends(action='create')
+ def create(self, req, resp_obj, body):
+ return self._show(req, resp_obj)
+
+ @wsgi.extends
+ def detail(self, req, resp_obj):
+ if not authorize(req.environ['nova.context']):
+ return
+ resp_obj.attach(xml=FlavorsDisabledTemplate())
+ self._extend_flavors(req, list(resp_obj.obj['flavors']))
+
+
+class FlavorDisabled(extensions.V3APIExtensionBase):
+ """Support to show the disabled status of a flavor."""
+
+ name = "FlavorDisabled"
+ alias = ALIAS
+ namespace = "http://docs.openstack.org/compute/ext/%s/api/v3" % ALIAS
+ version = 1
+
+ def get_controller_extensions(self):
+ controller = FlavorDisabledController()
+ extension = extensions.ControllerExtension(self, 'flavors', controller)
+ return [extension]
+
+ def get_resources(self):
+ return []
+
+
+def make_flavor(elem):
+ elem.set('{%s}disabled' % FlavorDisabled.namespace,
+ '%s:disabled' % FlavorDisabled.alias)
+
+
+class FlavorDisabledTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('flavor', selector='flavor')
+ make_flavor(root)
+ return xmlutil.SlaveTemplate(root, 1, nsmap={
+ FlavorDisabled.alias: FlavorDisabled.namespace})
+
+
+class FlavorsDisabledTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('flavors')
+ elem = xmlutil.SubTemplateElement(root, 'flavor', selector='flavors')
+ make_flavor(elem)
+ return xmlutil.SlaveTemplate(root, 1, nsmap={
+ FlavorDisabled.alias: FlavorDisabled.namespace})
diff --git a/nova/api/openstack/compute/plugins/v3/flavors.py b/nova/api/openstack/compute/plugins/v3/flavors.py
new file mode 100644
index 000000000..31c0fa8b7
--- /dev/null
+++ b/nova/api/openstack/compute/plugins/v3/flavors.py
@@ -0,0 +1,169 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2010 OpenStack Foundation
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import webob
+
+from nova.api.openstack import common
+from nova.api.openstack.compute.views import flavors as flavors_view
+from nova.api.openstack import extensions
+from nova.api.openstack import wsgi
+from nova.api.openstack import xmlutil
+from nova.compute import flavors
+from nova import exception
+from nova.openstack.common import strutils
+
+
+def make_flavor(elem, detailed=False):
+ elem.set('name')
+ elem.set('id')
+ if detailed:
+ elem.set('ram')
+ elem.set('disk')
+ elem.set('vcpus', xmlutil.EmptyStringSelector('vcpus'))
+ # NOTE(vish): this was originally added without a namespace
+ elem.set('swap', xmlutil.EmptyStringSelector('swap'))
+
+ xmlutil.make_links(elem, 'links')
+
+
+flavor_nsmap = {None: xmlutil.XMLNS_V11, 'atom': xmlutil.XMLNS_ATOM}
+
+
+class FlavorTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('flavor', selector='flavor')
+ make_flavor(root, detailed=True)
+ return xmlutil.MasterTemplate(root, 1, nsmap=flavor_nsmap)
+
+
+class MinimalFlavorsTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('flavors')
+ elem = xmlutil.SubTemplateElement(root, 'flavor', selector='flavors')
+ make_flavor(elem)
+ return xmlutil.MasterTemplate(root, 1, nsmap=flavor_nsmap)
+
+
+class FlavorsTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('flavors')
+ elem = xmlutil.SubTemplateElement(root, 'flavor', selector='flavors')
+ make_flavor(elem, detailed=True)
+ return xmlutil.MasterTemplate(root, 1, nsmap=flavor_nsmap)
+
+
+class FlavorsController(wsgi.Controller):
+ """Flavor controller for the OpenStack API."""
+
+ _view_builder_class = flavors_view.ViewBuilder
+
+ @wsgi.serializers(xml=MinimalFlavorsTemplate)
+ def index(self, req):
+ """Return all flavors in brief."""
+ limited_flavors = self._get_flavors(req)
+ return self._view_builder.index(req, limited_flavors)
+
+ @wsgi.serializers(xml=FlavorsTemplate)
+ def detail(self, req):
+ """Return all flavors in detail."""
+ limited_flavors = self._get_flavors(req)
+ req.cache_db_flavors(limited_flavors)
+ return self._view_builder.detail(req, limited_flavors)
+
+ @wsgi.serializers(xml=FlavorTemplate)
+ def show(self, req, id):
+ """Return data about the given flavor id."""
+ try:
+ flavor = flavors.get_flavor_by_flavor_id(id)
+ req.cache_db_flavor(flavor)
+ except exception.NotFound:
+ raise webob.exc.HTTPNotFound()
+
+ return self._view_builder.show(req, flavor)
+
+ def _parse_is_public(self, is_public):
+ """Parse is_public into something usable."""
+
+ if is_public is None:
+ # preserve default value of showing only public flavors
+ return True
+ elif is_public == 'none':
+ return None
+ else:
+ try:
+ return strutils.bool_from_string(is_public, strict=True)
+ except ValueError:
+ msg = _('Invalid is_public filter [%s]') % is_public
+ raise webob.exc.HTTPBadRequest(explanation=msg)
+
+ def _get_flavors(self, req):
+ """Helper function that returns a list of flavor dicts."""
+ filters = {}
+
+ context = req.environ['nova.context']
+ if context.is_admin:
+ # Only admin has query access to all flavor types
+ filters['is_public'] = self._parse_is_public(
+ req.params.get('is_public', None))
+ else:
+ filters['is_public'] = True
+ filters['disabled'] = False
+
+ if 'minRam' in req.params:
+ try:
+ filters['min_memory_mb'] = int(req.params['minRam'])
+ except ValueError:
+ msg = _('Invalid minRam filter [%s]') % req.params['minRam']
+ raise webob.exc.HTTPBadRequest(explanation=msg)
+
+ if 'minDisk' in req.params:
+ try:
+ filters['min_root_gb'] = int(req.params['minDisk'])
+ except ValueError:
+ msg = _('Invalid minDisk filter [%s]') % req.params['minDisk']
+ raise webob.exc.HTTPBadRequest(explanation=msg)
+
+ limited_flavors = flavors.get_all_flavors(context, filters=filters)
+ flavors_list = limited_flavors.values()
+ sorted_flavors = sorted(flavors_list,
+ key=lambda item: item['flavorid'])
+ limited_flavors = common.limited_by_marker(sorted_flavors, req)
+ return limited_flavors
+
+
+class Flavors(extensions.V3APIExtensionBase):
+ """ Flavors Extension. """
+ name = "flavors"
+ alias = "flavors"
+ namespace = "http://docs.openstack.org/compute/core/flavors/v3"
+ version = 1
+
+ def get_resources(self):
+ collection_actions = {'detail': 'GET'}
+ member_actions = {'action': 'POST'}
+
+ resources = [
+ extensions.ResourceExtension('flavors',
+ FlavorsController(),
+ member_name='flavor',
+ collection_actions=collection_actions,
+ member_actions=member_actions)
+ ]
+ return resources
+
+ def get_controller_extensions(self):
+ return []
diff --git a/nova/api/openstack/compute/plugins/v3/images.py b/nova/api/openstack/compute/plugins/v3/images.py
new file mode 100644
index 000000000..dde22488d
--- /dev/null
+++ b/nova/api/openstack/compute/plugins/v3/images.py
@@ -0,0 +1,242 @@
+# Copyright 2011 OpenStack Foundation
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import webob.exc
+
+from nova.api.openstack import common
+from nova.api.openstack.compute.views import images as views_images
+from nova.api.openstack import extensions
+from nova.api.openstack import wsgi
+from nova.api.openstack import xmlutil
+from nova import exception
+import nova.image.glance
+import nova.utils
+
+
+ALIAS = "os-images"
+authorize = extensions.extension_authorizer('compute', 'v3:' + ALIAS)
+
+SUPPORTED_FILTERS = {
+ 'name': 'name',
+ 'status': 'status',
+ 'changes-since': 'changes-since',
+ 'server': 'property-instance_uuid',
+ 'type': 'property-image_type',
+ 'minRam': 'min_ram',
+ 'minDisk': 'min_disk',
+}
+
+
+def make_image(elem, detailed=False):
+ elem.set('name')
+ elem.set('id')
+
+ if detailed:
+ elem.set('updated')
+ elem.set('created')
+ elem.set('status')
+ elem.set('progress')
+ elem.set('minRam')
+ elem.set('minDisk')
+
+ server = xmlutil.SubTemplateElement(elem, 'server', selector='server')
+ server.set('id')
+ xmlutil.make_links(server, 'links')
+
+ elem.append(common.MetadataTemplate())
+
+ xmlutil.make_links(elem, 'links')
+
+
+image_nsmap = {None: xmlutil.XMLNS_V11, 'atom': xmlutil.XMLNS_ATOM}
+
+
+class ImageTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('image', selector='image')
+ make_image(root, detailed=True)
+ return xmlutil.MasterTemplate(root, 1, nsmap=image_nsmap)
+
+
+class MinimalImagesTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('images')
+ elem = xmlutil.SubTemplateElement(root, 'image', selector='images')
+ make_image(elem)
+ xmlutil.make_links(root, 'images_links')
+ return xmlutil.MasterTemplate(root, 1, nsmap=image_nsmap)
+
+
+class ImagesTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('images')
+ elem = xmlutil.SubTemplateElement(root, 'image', selector='images')
+ make_image(elem, detailed=True)
+ return xmlutil.MasterTemplate(root, 1, nsmap=image_nsmap)
+
+
+class ImagesController(wsgi.Controller):
+ """Base controller for retrieving/displaying images."""
+
+ _view_builder_class = views_images.ViewBuilder
+
+ def __init__(self, image_service=None, **kwargs):
+ """Initialize new `ImageController`.
+
+ :param image_service: `nova.image.glance:GlanceImageService`
+
+ """
+ super(ImagesController, self).__init__(**kwargs)
+ self._image_service = (image_service or
+ nova.image.glance.get_default_image_service())
+
+ def _get_filters(self, req):
+ """
+ Return a dictionary of query param filters from the request
+
+ :param req: the Request object coming from the wsgi layer
+ :retval a dict of key/value filters
+ """
+ filters = {}
+ for param in req.params:
+ if param in SUPPORTED_FILTERS or param.startswith('property-'):
+ # map filter name or carry through if property-*
+ filter_name = SUPPORTED_FILTERS.get(param, param)
+ filters[filter_name] = req.params.get(param)
+
+ # ensure server filter is the instance uuid
+ filter_name = 'property-instance_uuid'
+ try:
+ filters[filter_name] = filters[filter_name].rsplit('/', 1)[1]
+ except (AttributeError, IndexError, KeyError):
+ pass
+
+ filter_name = 'status'
+ if filter_name in filters:
+ # The Image API expects us to use lowercase strings for status
+ filters[filter_name] = filters[filter_name].lower()
+
+ return filters
+
+ @wsgi.serializers(xml=ImageTemplate)
+ def show(self, req, id):
+ """Return detailed information about a specific image.
+
+ :param req: `wsgi.Request` object
+ :param id: Image identifier
+ """
+ context = req.environ['nova.context']
+ authorize(context)
+
+ try:
+ image = self._image_service.show(context, id)
+ except (exception.NotFound, exception.InvalidImageRef):
+ explanation = _("Image not found.")
+ raise webob.exc.HTTPNotFound(explanation=explanation)
+
+ req.cache_db_items('images', [image], 'id')
+ return self._view_builder.show(req, image)
+
+ def delete(self, req, id):
+ """Delete an image, if allowed.
+
+ :param req: `wsgi.Request` object
+ :param id: Image identifier (integer)
+ """
+ context = req.environ['nova.context']
+ authorize(context)
+
+ try:
+ self._image_service.delete(context, id)
+ except exception.ImageNotFound:
+ explanation = _("Image not found.")
+ raise webob.exc.HTTPNotFound(explanation=explanation)
+ except exception.ImageNotAuthorized:
+ # The image service raises this exception on delete if glanceclient
+ # raises HTTPForbidden.
+ explanation = _("You are not allowed to delete the image.")
+ raise webob.exc.HTTPForbidden(explanation=explanation)
+ return webob.exc.HTTPNoContent()
+
+ @wsgi.serializers(xml=MinimalImagesTemplate)
+ def index(self, req):
+ """Return an index listing of images available to the request.
+
+ :param req: `wsgi.Request` object
+
+ """
+ context = req.environ['nova.context']
+ authorize(context)
+
+ filters = self._get_filters(req)
+ params = req.GET.copy()
+ page_params = common.get_pagination_params(req)
+ for key, val in page_params.iteritems():
+ params[key] = val
+
+ try:
+ images = self._image_service.detail(context, filters=filters,
+ **page_params)
+ except exception.Invalid as e:
+ raise webob.exc.HTTPBadRequest(explanation=e.format_message())
+ return self._view_builder.index(req, images)
+
+ @wsgi.serializers(xml=ImagesTemplate)
+ def detail(self, req):
+ """Return a detailed index listing of images available to the request.
+
+ :param req: `wsgi.Request` object.
+
+ """
+ context = req.environ['nova.context']
+ authorize(context)
+
+ filters = self._get_filters(req)
+ params = req.GET.copy()
+ page_params = common.get_pagination_params(req)
+ for key, val in page_params.iteritems():
+ params[key] = val
+ try:
+ images = self._image_service.detail(context, filters=filters,
+ **page_params)
+ except exception.Invalid as e:
+ raise webob.exc.HTTPBadRequest(explanation=e.format_message())
+
+ req.cache_db_items('images', images, 'id')
+ return self._view_builder.detail(req, images)
+
+ def create(self, *args, **kwargs):
+ raise webob.exc.HTTPMethodNotAllowed()
+
+
+class Images(extensions.V3APIExtensionBase):
+ """Server addresses."""
+
+ name = "Images"
+ alias = ALIAS
+ namespace = "http://docs.openstack.org/compute/ext/images/v3"
+ version = 1
+
+ def get_resources(self):
+ collection_actions = {'detail': 'GET'}
+ resources = [
+ extensions.ResourceExtension(
+ ALIAS, ImagesController(),
+ collection_actions=collection_actions)]
+
+ return resources
+
+ def get_controller_extensions(self):
+ return []
diff --git a/nova/api/openstack/compute/plugins/v3/keypairs.py b/nova/api/openstack/compute/plugins/v3/keypairs.py
index bf740641e..ab40b051c 100644
--- a/nova/api/openstack/compute/plugins/v3/keypairs.py
+++ b/nova/api/openstack/compute/plugins/v3/keypairs.py
@@ -55,6 +55,7 @@ class KeypairController(object):
self.api = compute_api.KeypairAPI()
@wsgi.serializers(xml=KeypairTemplate)
+ @extensions.expected_errors((400, 409, 413))
def create(self, req, body):
"""
Create or import keypair.
@@ -100,6 +101,7 @@ class KeypairController(object):
except exception.KeyPairExists as exc:
raise webob.exc.HTTPConflict(explanation=exc.format_message())
+ @extensions.expected_errors(404)
def delete(self, req, id):
"""
Delete a keypair with a given name
@@ -113,6 +115,7 @@ class KeypairController(object):
return webob.Response(status_int=202)
@wsgi.serializers(xml=KeypairTemplate)
+ @extensions.expected_errors(404)
def show(self, req, id):
"""Return data for the given key name."""
context = req.environ['nova.context']
diff --git a/nova/api/openstack/compute/plugins/v3/quota_classes.py b/nova/api/openstack/compute/plugins/v3/quota_classes.py
new file mode 100644
index 000000000..361748df8
--- /dev/null
+++ b/nova/api/openstack/compute/plugins/v3/quota_classes.py
@@ -0,0 +1,103 @@
+# Copyright 2012 OpenStack Foundation
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import webob
+
+from nova.api.openstack import extensions
+from nova.api.openstack import wsgi
+from nova.api.openstack import xmlutil
+import nova.context
+from nova import db
+from nova import exception
+from nova import quota
+
+
+QUOTAS = quota.QUOTAS
+
+
+authorize = extensions.extension_authorizer('compute', 'quota_classes')
+
+
+class QuotaClassTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('quota_class_set',
+ selector='quota_class_set')
+ root.set('id')
+
+ for resource in QUOTAS.resources:
+ elem = xmlutil.SubTemplateElement(root, resource)
+ elem.text = resource
+
+ return xmlutil.MasterTemplate(root, 1)
+
+
+class QuotaClassSetsController(object):
+
+ def _format_quota_set(self, quota_class, quota_set):
+ """Convert the quota object to a result dict."""
+
+ result = dict(id=str(quota_class))
+
+ for resource in QUOTAS.resources:
+ result[resource] = quota_set[resource]
+
+ return dict(quota_class_set=result)
+
+ @wsgi.serializers(xml=QuotaClassTemplate)
+ def show(self, req, id):
+ context = req.environ['nova.context']
+ authorize(context)
+ try:
+ nova.context.authorize_quota_class_context(context, id)
+ return self._format_quota_set(id,
+ QUOTAS.get_class_quotas(context, id))
+ except exception.NotAuthorized:
+ raise webob.exc.HTTPForbidden()
+
+ @wsgi.serializers(xml=QuotaClassTemplate)
+ def update(self, req, id, body):
+ context = req.environ['nova.context']
+ authorize(context)
+ quota_class = id
+ for key in body['quota_class_set'].keys():
+ if key in QUOTAS:
+ value = int(body['quota_class_set'][key])
+ try:
+ db.quota_class_update(context, quota_class, key, value)
+ except exception.QuotaClassNotFound:
+ db.quota_class_create(context, quota_class, key, value)
+ except exception.AdminRequired:
+ raise webob.exc.HTTPForbidden()
+ return {'quota_class_set': QUOTAS.get_class_quotas(context,
+ quota_class)}
+
+
+class Quota_classes(extensions.ExtensionDescriptor):
+ """Quota classes management support."""
+
+ name = "QuotaClasses"
+ alias = "os-quota-class-sets"
+ namespace = ("http://docs.openstack.org/compute/ext/"
+ "quota-classes-sets/api/v1.1")
+ updated = "2012-03-12T00:00:00+00:00"
+
+ def get_resources(self):
+ resources = []
+
+ res = extensions.ResourceExtension('os-quota-class-sets',
+ QuotaClassSetsController())
+ resources.append(res)
+
+ return resources
diff --git a/nova/api/openstack/compute/plugins/v3/quota_sets.py b/nova/api/openstack/compute/plugins/v3/quota_sets.py
new file mode 100644
index 000000000..67af5d127
--- /dev/null
+++ b/nova/api/openstack/compute/plugins/v3/quota_sets.py
@@ -0,0 +1,214 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2011 OpenStack Foundation
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import webob
+
+from nova.api.openstack import extensions
+from nova.api.openstack import wsgi
+from nova.api.openstack import xmlutil
+import nova.context
+from nova import db
+from nova import exception
+from nova.openstack.common import log as logging
+from nova.openstack.common import strutils
+from nova import quota
+
+
+ALIAS = "os-quota-sets"
+QUOTAS = quota.QUOTAS
+LOG = logging.getLogger(__name__)
+NON_QUOTA_KEYS = ['tenant_id', 'id', 'force']
+
+
+authorize_update = extensions.extension_authorizer('compute',
+ 'v3:%s:update' % ALIAS)
+authorize_show = extensions.extension_authorizer('compute',
+ 'v3:%s:show' % ALIAS)
+authorize_delete = extensions.extension_authorizer('compute',
+ 'v3:%s:delete' % ALIAS)
+
+
+class QuotaTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('quota_set', selector='quota_set')
+ root.set('id')
+
+ for resource in QUOTAS.resources:
+ elem = xmlutil.SubTemplateElement(root, resource)
+ elem.text = resource
+
+ return xmlutil.MasterTemplate(root, 1)
+
+
+class QuotaSetsController(object):
+
+ def __init__(self, ext_mgr):
+ self.ext_mgr = ext_mgr
+
+ def _format_quota_set(self, project_id, quota_set):
+ """Convert the quota object to a result dict."""
+
+ result = dict(id=str(project_id))
+
+ for resource in QUOTAS.resources:
+ result[resource] = quota_set[resource]
+
+ return dict(quota_set=result)
+
+ def _validate_quota_limit(self, limit):
+ # NOTE: -1 is a flag value for unlimited
+ if limit < -1:
+ msg = _("Quota limit must be -1 or greater.")
+ raise webob.exc.HTTPBadRequest(explanation=msg)
+
+ def _get_quotas(self, context, id, usages=False):
+ values = QUOTAS.get_project_quotas(context, id, usages=usages)
+
+ if usages:
+ return values
+ else:
+ return dict((k, v['limit']) for k, v in values.items())
+
+ @wsgi.serializers(xml=QuotaTemplate)
+ def show(self, req, id):
+ context = req.environ['nova.context']
+ authorize_show(context)
+ try:
+ nova.context.authorize_project_context(context, id)
+ return self._format_quota_set(id, self._get_quotas(context, id))
+ except exception.NotAuthorized:
+ raise webob.exc.HTTPForbidden()
+
+ @wsgi.serializers(xml=QuotaTemplate)
+ def update(self, req, id, body):
+ context = req.environ['nova.context']
+ authorize_update(context)
+ project_id = id
+
+ bad_keys = []
+
+ # By default, we can force update the quota if the extended
+ # is not loaded
+ force_update = True
+ extended_loaded = False
+ if self.ext_mgr.is_loaded('os-extended-quotas'):
+ # force optional has been enabled, the default value of
+ # force_update need to be changed to False
+ extended_loaded = True
+ force_update = False
+
+ for key, value in body['quota_set'].items():
+ if (key not in QUOTAS and
+ key not in NON_QUOTA_KEYS):
+ bad_keys.append(key)
+ continue
+ if key == 'force' and extended_loaded:
+ # only check the force optional when the extended has
+ # been loaded
+ force_update = strutils.bool_from_string(value)
+ elif key not in NON_QUOTA_KEYS and value:
+ try:
+ value = int(value)
+ except (ValueError, TypeError):
+ msg = _("Quota '%(value)s' for %(key)s should be "
+ "integer.") % locals()
+ LOG.warn(msg)
+ raise webob.exc.HTTPBadRequest(explanation=msg)
+ self._validate_quota_limit(value)
+
+ LOG.debug(_("force update quotas: %s") % force_update)
+
+ if len(bad_keys) > 0:
+ msg = _("Bad key(s) %s in quota_set") % ",".join(bad_keys)
+ raise webob.exc.HTTPBadRequest(explanation=msg)
+
+ try:
+ project_quota = self._get_quotas(context, id, True)
+ except exception.NotAuthorized:
+ raise webob.exc.HTTPForbidden()
+
+ for key, value in body['quota_set'].items():
+ if key in NON_QUOTA_KEYS or not value:
+ continue
+ # validate whether already used and reserved exceeds the new
+ # quota, this check will be ignored if admin want to force
+ # update
+ value = int(value)
+ if force_update is not True and value >= 0:
+ quota_value = project_quota.get(key)
+ if quota_value and quota_value['limit'] >= 0:
+ quota_used = (quota_value['in_use'] +
+ quota_value['reserved'])
+ LOG.debug(_("Quota %(key)s used: %(quota_used)s, "
+ "value: %(value)s."),
+ {'key': key, 'quota_used': quota_used,
+ 'value': value})
+ if quota_used > value:
+ msg = (_("Quota value %(value)s for %(key)s are "
+ "greater than already used and reserved "
+ "%(quota_used)s") %
+ {'value': value, 'key': key,
+ 'quota_used': quota_used})
+ raise webob.exc.HTTPBadRequest(explanation=msg)
+
+ try:
+ db.quota_update(context, project_id, key, value)
+ except exception.ProjectQuotaNotFound:
+ db.quota_create(context, project_id, key, value)
+ except exception.AdminRequired:
+ raise webob.exc.HTTPForbidden()
+ return {'quota_set': self._get_quotas(context, id)}
+
+ @wsgi.serializers(xml=QuotaTemplate)
+ def defaults(self, req, id):
+ context = req.environ['nova.context']
+ authorize_show(context)
+ return self._format_quota_set(id, QUOTAS.get_defaults(context))
+
+ def delete(self, req, id):
+ if self.ext_mgr.is_loaded('os-extended-quotas'):
+ context = req.environ['nova.context']
+ authorize_delete(context)
+ try:
+ nova.context.authorize_project_context(context, id)
+ QUOTAS.destroy_all_by_project(context, id)
+ return webob.Response(status_int=202)
+ except exception.NotAuthorized:
+ raise webob.exc.HTTPForbidden()
+ raise webob.exc.HTTPNotFound()
+
+
+class QuotaSets(extensions.V3APIExtensionBase):
+ """Quotas management support."""
+
+ name = "Quotas"
+ alias = ALIAS
+ namespace = "http://docs.openstack.org/compute/ext/os-quotas-sets/api/v3"
+ version = 1
+
+ def get_resources(self):
+ resources = []
+
+ res = extensions.ResourceExtension(ALIAS,
+ QuotaSetsController(self.ext_mgr),
+ member_actions={'defaults': 'GET'})
+ resources.append(res)
+
+ return resources
+
+ def get_controller_extensions(self):
+ return []
diff --git a/nova/api/openstack/compute/plugins/v3/rescue.py b/nova/api/openstack/compute/plugins/v3/rescue.py
new file mode 100644
index 000000000..ded18bb1a
--- /dev/null
+++ b/nova/api/openstack/compute/plugins/v3/rescue.py
@@ -0,0 +1,100 @@
+# Copyright 2011 OpenStack Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+"""The rescue mode extension."""
+
+from oslo.config import cfg
+import webob
+from webob import exc
+
+from nova.api.openstack import common
+from nova.api.openstack import extensions
+from nova.api.openstack import wsgi
+from nova import compute
+from nova import exception
+from nova import utils
+
+
+ALIAS = "os-rescue"
+CONF = cfg.CONF
+authorize = extensions.extension_authorizer('compute', 'v3:' + ALIAS)
+
+
+class RescueController(wsgi.Controller):
+ def __init__(self, *args, **kwargs):
+ super(RescueController, self).__init__(*args, **kwargs)
+ self.compute_api = compute.API()
+
+ def _get_instance(self, context, instance_id):
+ try:
+ return self.compute_api.get(context, instance_id)
+ except exception.InstanceNotFound:
+ msg = _("Server not found")
+ raise exc.HTTPNotFound(msg)
+
+ @wsgi.action('rescue')
+ def _rescue(self, req, id, body):
+ """Rescue an instance."""
+ context = req.environ["nova.context"]
+ authorize(context)
+
+ if body['rescue'] and 'adminPass' in body['rescue']:
+ password = body['rescue']['adminPass']
+ else:
+ password = utils.generate_password()
+
+ instance = self._get_instance(context, id)
+ try:
+ self.compute_api.rescue(context, instance,
+ rescue_password=password)
+ except exception.InstanceInvalidState as state_error:
+ common.raise_http_conflict_for_instance_invalid_state(state_error,
+ 'rescue')
+ except exception.InvalidVolume as volume_error:
+ raise exc.HTTPConflict(explanation=volume_error.format_message())
+ except exception.InstanceNotRescuable as non_rescuable:
+ raise exc.HTTPBadRequest(
+ explanation=non_rescuable.format_message())
+
+ return {'adminPass': password}
+
+ @wsgi.action('unrescue')
+ def _unrescue(self, req, id, body):
+ """Unrescue an instance."""
+ context = req.environ["nova.context"]
+ authorize(context)
+ instance = self._get_instance(context, id)
+ try:
+ self.compute_api.unrescue(context, instance)
+ except exception.InstanceInvalidState as state_error:
+ common.raise_http_conflict_for_instance_invalid_state(state_error,
+ 'unrescue')
+ return webob.Response(status_int=202)
+
+
+class Rescue(extensions.V3APIExtensionBase):
+ """Instance rescue mode."""
+
+ name = "Rescue"
+ alias = ALIAS
+ namespace = "http://docs.openstack.org/compute/ext/rescue/api/v3"
+ version = 1
+
+ def get_resources(self):
+ return []
+
+ def get_controller_extensions(self):
+ controller = RescueController()
+ extension = extensions.ControllerExtension(self, 'servers', controller)
+ return [extension]
diff --git a/nova/api/openstack/compute/plugins/v3/server_diagnostics.py b/nova/api/openstack/compute/plugins/v3/server_diagnostics.py
new file mode 100644
index 000000000..6a19732dc
--- /dev/null
+++ b/nova/api/openstack/compute/plugins/v3/server_diagnostics.py
@@ -0,0 +1,71 @@
+# Copyright 2011 OpenStack Foundation
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import webob.exc
+
+from nova.api.openstack import extensions
+from nova.api.openstack import wsgi
+from nova.api.openstack import xmlutil
+from nova import compute
+from nova import exception
+
+
+ALIAS = "os-server-diagnostics"
+authorize = extensions.extension_authorizer('compute', 'v3:' + ALIAS)
+sd_nsmap = {None: wsgi.XMLNS_V11}
+
+
+class ServerDiagnosticsTemplate(xmlutil.TemplateBuilder):
+ def construct(self):
+ root = xmlutil.TemplateElement('diagnostics')
+ elem = xmlutil.SubTemplateElement(root, xmlutil.Selector(0),
+ selector=xmlutil.get_items)
+ elem.text = 1
+ return xmlutil.MasterTemplate(root, 1, nsmap=sd_nsmap)
+
+
+class ServerDiagnosticsController(object):
+ @wsgi.serializers(xml=ServerDiagnosticsTemplate)
+ def index(self, req, server_id):
+ context = req.environ["nova.context"]
+ authorize(context)
+ compute_api = compute.API()
+ try:
+ instance = compute_api.get(context, server_id)
+ except exception.NotFound():
+ raise webob.exc.HTTPNotFound(_("Instance not found"))
+
+ return compute_api.get_diagnostics(context, instance)
+
+
+class ServerDiagnostics(extensions.V3APIExtensionBase):
+ """Allow Admins to view server diagnostics through server action."""
+
+ name = "ServerDiagnostics"
+ alias = ALIAS
+ namespace = ("http://docs.openstack.org/compute/ext/"
+ "server-diagnostics/api/v3")
+ version = 1
+
+ def get_resources(self):
+ parent_def = {'member_name': 'server', 'collection_name': 'servers'}
+ resources = [
+ extensions.ResourceExtension(ALIAS,
+ ServerDiagnosticsController(),
+ parent=parent_def)]
+ return resources
+
+ def get_controller_extensions(self):
+ return []
diff --git a/nova/api/openstack/compute/plugins/v3/servers.py b/nova/api/openstack/compute/plugins/v3/servers.py
index b12988010..ef170fa7b 100644
--- a/nova/api/openstack/compute/plugins/v3/servers.py
+++ b/nova/api/openstack/compute/plugins/v3/servers.py
@@ -1019,11 +1019,8 @@ class ServersController(wsgi.Controller):
req.cache_db_instances(instances)
server = self._view_builder.create(req, instances[0])
- if '_is_precooked' in server['server'].keys():
- del server['server']['_is_precooked']
- else:
- if CONF.enable_instance_password:
- server['server']['adminPass'] = password
+ if CONF.enable_instance_password:
+ server['server']['adminPass'] = password
robj = wsgi.ResponseObject(server)
diff --git a/nova/api/openstack/compute/schemas/v3/flavor.rng b/nova/api/openstack/compute/schemas/v3/flavor.rng
new file mode 100644
index 000000000..4b6b74001
--- /dev/null
+++ b/nova/api/openstack/compute/schemas/v3/flavor.rng
@@ -0,0 +1,12 @@
+<element name="flavor" ns="http://docs.openstack.org/compute/api/v1.1"
+ xmlns="http://relaxng.org/ns/structure/1.0">
+ <attribute name="name"> <text/> </attribute>
+ <attribute name="id"> <text/> </attribute>
+ <attribute name="ram"> <text/> </attribute>
+ <attribute name="disk"> <text/> </attribute>
+ <attribute name="vcpus"> <text/> </attribute>
+ <attribute name="swap"> <text/> </attribute>
+ <zeroOrMore>
+ <externalRef href="../atom-link.rng"/>
+ </zeroOrMore>
+</element>
diff --git a/nova/api/openstack/compute/schemas/v3/flavors.rng b/nova/api/openstack/compute/schemas/v3/flavors.rng
new file mode 100644
index 000000000..b7a3acc01
--- /dev/null
+++ b/nova/api/openstack/compute/schemas/v3/flavors.rng
@@ -0,0 +1,6 @@
+<element name="flavors" xmlns="http://relaxng.org/ns/structure/1.0"
+ ns="http://docs.openstack.org/compute/api/v1.1">
+ <zeroOrMore>
+ <externalRef href="flavor.rng"/>
+ </zeroOrMore>
+</element>
diff --git a/nova/api/openstack/compute/servers.py b/nova/api/openstack/compute/servers.py
index a8e0beec7..8c329d12b 100644
--- a/nova/api/openstack/compute/servers.py
+++ b/nova/api/openstack/compute/servers.py
@@ -552,10 +552,10 @@ class Controller(wsgi.Controller):
search_opts=search_opts,
limit=limit,
marker=marker)
- except exception.MarkerNotFound as e:
+ except exception.MarkerNotFound:
msg = _('marker [%s] not found') % marker
raise exc.HTTPBadRequest(explanation=msg)
- except exception.FlavorNotFound as e:
+ except exception.FlavorNotFound:
log_msg = _("Flavor '%s' could not be found ")
LOG.debug(log_msg, search_opts['flavor'])
instance_list = []
@@ -919,6 +919,9 @@ class Controller(wsgi.Controller):
except exception.KeypairNotFound as error:
msg = _("Invalid key_name provided.")
raise exc.HTTPBadRequest(explanation=msg)
+ except exception.ConfigDriveInvalidValue:
+ msg = _("Invalid config_drive provided.")
+ raise exc.HTTPBadRequest(explanation=msg)
except rpc_common.RemoteError as err:
msg = "%(err_type)s: %(err_msg)s" % {'err_type': err.exc_type,
'err_msg': err.value}
@@ -943,11 +946,8 @@ class Controller(wsgi.Controller):
req.cache_db_instances(instances)
server = self._view_builder.create(req, instances[0])
- if '_is_precooked' in server['server'].keys():
- del server['server']['_is_precooked']
- else:
- if CONF.enable_instance_password:
- server['server']['adminPass'] = password
+ if CONF.enable_instance_password:
+ server['server']['adminPass'] = password
robj = wsgi.ResponseObject(server)
@@ -1096,11 +1096,11 @@ class Controller(wsgi.Controller):
except exception.InstanceInvalidState as state_error:
common.raise_http_conflict_for_instance_invalid_state(state_error,
'resize')
- except exception.ImageNotAuthorized as image_error:
+ except exception.ImageNotAuthorized:
msg = _("You are not authorized to access the image "
"the instance was started with.")
raise exc.HTTPUnauthorized(explanation=msg)
- except exception.ImageNotFound as image_error:
+ except exception.ImageNotFound:
msg = _("Image that the instance was started "
"with could not be found.")
raise exc.HTTPBadRequest(explanation=msg)
diff --git a/nova/api/openstack/compute/views/servers.py b/nova/api/openstack/compute/views/servers.py
index bf7123ba7..03b0a97a5 100644
--- a/nova/api/openstack/compute/views/servers.py
+++ b/nova/api/openstack/compute/views/servers.py
@@ -25,6 +25,7 @@ from nova.api.openstack.compute.views import images as views_images
from nova.compute import flavors
from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
+from nova import utils
LOG = logging.getLogger(__name__)
@@ -54,14 +55,6 @@ class ViewBuilder(common.ViewBuilder):
self._flavor_builder = views_flavors.ViewBuilder()
self._image_builder = views_images.ViewBuilder()
- def _skip_precooked(func):
- def wrapped(self, request, instance):
- if instance.get("_is_precooked"):
- return dict(server=instance)
- else:
- return func(self, request, instance)
- return wrapped
-
def create(self, request, instance):
"""View that should be returned when an instance is created."""
return {
@@ -73,7 +66,6 @@ class ViewBuilder(common.ViewBuilder):
},
}
- @_skip_precooked
def basic(self, request, instance):
"""Generic, non-detailed view of an instance."""
return {
@@ -86,7 +78,6 @@ class ViewBuilder(common.ViewBuilder):
},
}
- @_skip_precooked
def show(self, request, instance):
"""Detailed view of a single instance."""
server = {
@@ -142,8 +133,7 @@ class ViewBuilder(common.ViewBuilder):
@staticmethod
def _get_metadata(instance):
- metadata = instance.get("metadata", [])
- return dict((item['key'], item['value']) for item in metadata)
+ return utils.instance_meta(instance)
@staticmethod
def _get_vm_state(instance):
diff --git a/nova/api/openstack/extensions.py b/nova/api/openstack/extensions.py
index 6cbc5bb78..69cc87546 100644
--- a/nova/api/openstack/extensions.py
+++ b/nova/api/openstack/extensions.py
@@ -17,6 +17,7 @@
# under the License.
import abc
+import functools
import os
import webob.dec
@@ -392,9 +393,9 @@ def extension_authorizer(api_name, extension_name):
def soft_extension_authorizer(api_name, extension_name):
hard_authorize = extension_authorizer(api_name, extension_name)
- def authorize(context):
+ def authorize(context, action=None):
try:
- hard_authorize(context)
+ hard_authorize(context, action=action)
return True
except exception.NotAuthorized:
return False
@@ -451,3 +452,42 @@ class V3APIExtensionBase(object):
def version(self):
"""Version of the extension."""
pass
+
+
+def expected_errors(errors):
+ """Decorator for v3 API methods which specifies expected exceptions.
+
+ Specify which exceptions may occur when an API method is called. If an
+ unexpected exception occurs then return a 500 instead and ask the user
+ of the API to file a bug report.
+ """
+ def decorator(f):
+ @functools.wraps(f)
+ def wrapped(*args, **kwargs):
+ try:
+ return f(*args, **kwargs)
+ except Exception as exc:
+ if isinstance(exc, webob.exc.WSGIHTTPException):
+ if isinstance(errors, int):
+ t_errors = (errors,)
+ else:
+ t_errors = errors
+ if exc.code in t_errors:
+ raise
+ elif isinstance(exc, exception.PolicyNotAuthorized):
+ # Note(cyeoh): Special case to handle
+ # PolicyNotAuthorized exceptions so every
+ # extension method does not need to wrap authorize
+ # calls. ResourceExceptionHandler silently
+ # converts NotAuthorized to HTTPForbidden
+ raise
+
+ LOG.exception(_("Unexpected exception in API method"))
+ msg = _('Unexpected API Error. Please report this at '
+ 'http://bugs.launchpad.net/nova/ and attach the Nova '
+ 'API log if possible.\n%s') % type(exc)
+ raise webob.exc.HTTPInternalServerError(explanation=msg)
+
+ return wrapped
+
+ return decorator
diff --git a/nova/api/openstack/xmlutil.py b/nova/api/openstack/xmlutil.py
index 04f5e28e3..37766b3e3 100644
--- a/nova/api/openstack/xmlutil.py
+++ b/nova/api/openstack/xmlutil.py
@@ -33,12 +33,12 @@ XMLNS_COMMON_V10 = 'http://docs.openstack.org/common/api/v1.0'
XMLNS_ATOM = 'http://www.w3.org/2005/Atom'
-def validate_schema(xml, schema_name):
+def validate_schema(xml, schema_name, version='v1.1'):
if isinstance(xml, str):
xml = etree.fromstring(xml)
- base_path = 'nova/api/openstack/compute/schemas/v1.1/'
- if schema_name in ('atom', 'atom-link'):
- base_path = 'nova/api/openstack/compute/schemas/'
+ base_path = 'nova/api/openstack/compute/schemas/'
+ if schema_name not in ('atom', 'atom-link'):
+ base_path += '%s/' % version
schema_path = os.path.join(utils.novadir(),
'%s%s.rng' % (base_path, schema_name))
schema_doc = etree.parse(schema_path)
diff --git a/nova/availability_zones.py b/nova/availability_zones.py
index 6d111c120..216c46041 100644
--- a/nova/availability_zones.py
+++ b/nova/availability_zones.py
@@ -23,7 +23,7 @@ from nova.openstack.common import memorycache
# NOTE(vish): azs don't change that often, so cache them for an hour to
# avoid hitting the db multiple times on every request.
AZ_CACHE_SECONDS = 60 * 60
-MC = memorycache.get_client()
+MC = None
availability_zone_opts = [
cfg.StrOpt('internal_service_availability_zone',
@@ -38,6 +38,27 @@ CONF = cfg.CONF
CONF.register_opts(availability_zone_opts)
+def _get_cache():
+ global MC
+
+ if MC is None:
+ MC = memorycache.get_client()
+
+ return MC
+
+
+def _reset_cache():
+ """Reset the cache, mainly for testing purposes."""
+
+ global MC
+
+ MC = None
+
+
+def _make_cache_key(host):
+ return "azcache-%s" % host
+
+
def set_availability_zones(context, services):
# Makes sure services isn't a sqlalchemy object
services = [dict(service.iteritems()) for service in services]
@@ -50,6 +71,11 @@ def set_availability_zones(context, services):
az = u','.join(list(metadata[service['host']]))
else:
az = CONF.default_availability_zone
+ # update the cache
+ cache = _get_cache()
+ cache_key = _make_cache_key(service['host'])
+ cache.delete(cache_key)
+ cache.set(cache_key, az, AZ_CACHE_SECONDS)
service['availability_zone'] = az
return services
@@ -62,9 +88,10 @@ def get_host_availability_zone(context, host, conductor_api=None):
metadata = db.aggregate_metadata_get_by_host(
context, host, key='availability_zone')
if 'availability_zone' in metadata:
- return list(metadata['availability_zone'])[0]
+ az = list(metadata['availability_zone'])[0]
else:
- return CONF.default_availability_zone
+ az = CONF.default_availability_zone
+ return az
def get_availability_zones(context):
@@ -95,10 +122,11 @@ def get_instance_availability_zone(context, instance):
if not host:
return None
- cache_key = "azcache-%s" % host
- az = MC.get(cache_key)
+ cache_key = _make_cache_key(host)
+ cache = _get_cache()
+ az = cache.get(cache_key)
if not az:
elevated = context.elevated()
az = get_host_availability_zone(elevated, host)
- MC.set(cache_key, az, AZ_CACHE_SECONDS)
+ cache.set(cache_key, az, AZ_CACHE_SECONDS)
return az
diff --git a/nova/baserpc.py b/nova/baserpc.py
index 1cb474209..b166cb400 100644
--- a/nova/baserpc.py
+++ b/nova/baserpc.py
@@ -18,11 +18,20 @@
Base RPC client and server common to all services.
"""
+from oslo.config import cfg
+
from nova.openstack.common import jsonutils
from nova.openstack.common import rpc
import nova.openstack.common.rpc.proxy as rpc_proxy
+CONF = cfg.CONF
+rpcapi_cap_opt = cfg.StrOpt('baseapi',
+ default=None,
+ help='Set a version cap for messages sent to the base api in any '
+ 'service')
+CONF.register_opt(rpcapi_cap_opt, 'upgrade_levels')
+
_NAMESPACE = 'baseapi'
@@ -45,9 +54,16 @@ class BaseAPI(rpc_proxy.RpcProxy):
#
BASE_RPC_API_VERSION = '1.0'
+ VERSION_ALIASES = {
+ # baseapi was added in havana
+ }
+
def __init__(self, topic):
+ version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.baseapi,
+ CONF.upgrade_levels.baseapi)
super(BaseAPI, self).__init__(topic=topic,
- default_version=self.BASE_RPC_API_VERSION)
+ default_version=self.BASE_RPC_API_VERSION,
+ version_cap=version_cap)
self.namespace = _NAMESPACE
def ping(self, context, arg, timeout=None):
diff --git a/nova/cells/manager.py b/nova/cells/manager.py
index f776c542e..4dc9f2d82 100644
--- a/nova/cells/manager.py
+++ b/nova/cells/manager.py
@@ -64,7 +64,7 @@ class CellsManager(manager.Manager):
Scheduling requests get passed to the scheduler class.
"""
- RPC_API_VERSION = '1.9'
+ RPC_API_VERSION = '1.10'
def __init__(self, *args, **kwargs):
# Mostly for tests.
@@ -390,3 +390,14 @@ class CellsManager(manager.Manager):
def get_capacities(self, ctxt, cell_name):
return self.state_manager.get_capacities(cell_name)
+
+ def bdm_update_or_create_at_top(self, ctxt, bdm, create=None):
+ """BDM was created/updated in this cell. Tell the API cells."""
+ self.msg_runner.bdm_update_or_create_at_top(ctxt, bdm, create=create)
+
+ def bdm_destroy_at_top(self, ctxt, instance_uuid, device_name=None,
+ volume_id=None):
+ """BDM was destroyed for instance in this cell. Tell the API cells."""
+ self.msg_runner.bdm_destroy_at_top(ctxt, instance_uuid,
+ device_name=device_name,
+ volume_id=volume_id)
diff --git a/nova/cells/messaging.py b/nova/cells/messaging.py
index 319067836..cacb4b8e3 100644
--- a/nova/cells/messaging.py
+++ b/nova/cells/messaging.py
@@ -36,6 +36,7 @@ from nova.consoleauth import rpcapi as consoleauth_rpcapi
from nova import context
from nova.db import base
from nova import exception
+from nova.objects import instance as instance_obj
from nova.openstack.common import excutils
from nova.openstack.common import importutils
from nova.openstack.common import jsonutils
@@ -678,6 +679,13 @@ class _TargetedMessageMethods(_BaseMessageMethods):
instance = {'uuid': instance_uuid}
self.msg_runner.instance_destroy_at_top(message.ctxt,
instance)
+ # FIXME(comstud): This is temporary/transitional until I can
+ # work out a better way to pass full objects down.
+ EXPECTS_OBJECTS = ['start', 'stop']
+ if method in EXPECTS_OBJECTS:
+ inst_obj = instance_obj.Instance()
+ inst_obj._from_db_object(inst_obj, instance)
+ instance = inst_obj
args[0] = instance
return fn(message.ctxt, *args, **method_info['method_kwargs'])
@@ -813,12 +821,10 @@ class _BroadcastMessageMethods(_BaseMessageMethods):
info_cache.pop('id', None)
info_cache.pop('instance', None)
- # Fixup system_metadata (should be a dict for update, not a list)
- if ('system_metadata' in instance and
- isinstance(instance['system_metadata'], list)):
- sys_metadata = dict([(md['key'], md['value'])
- for md in instance['system_metadata']])
- instance['system_metadata'] = sys_metadata
+ if 'system_metadata' in instance:
+ # Make sure we have the dict form that we need for
+ # instance_update.
+ instance['system_metadata'] = utils.instance_sys_meta(instance)
LOG.debug(_("Got update for instance: %(instance)s"),
{'instance': instance}, instance_uuid=instance_uuid)
@@ -848,7 +854,8 @@ class _BroadcastMessageMethods(_BaseMessageMethods):
except exception.NotFound:
# FIXME(comstud): Strange. Need to handle quotas here,
# if we actually want this code to remain..
- self.db.instance_create(message.ctxt, instance)
+ self.db.instance_create(message.ctxt, instance,
+ legacy=False)
if info_cache:
try:
self.db.instance_info_cache_update(
@@ -959,6 +966,60 @@ class _BroadcastMessageMethods(_BaseMessageMethods):
self.consoleauth_rpcapi.delete_tokens_for_instance(message.ctxt,
instance_uuid)
+ def bdm_update_or_create_at_top(self, message, bdm, create):
+ """Create or update a block device mapping in API cells. If
+ create is True, only try to create. If create is None, try to
+ update but fall back to create. If create is False, only attempt
+ to update. This maps to nova-conductor's behavior.
+ """
+ if not self._at_the_top():
+ return
+ items_to_remove = ['id']
+ for key in items_to_remove:
+ bdm.pop(key, None)
+ if create is None:
+ self.db.block_device_mapping_update_or_create(message.ctxt,
+ bdm,
+ legacy=False)
+ return
+ elif create is True:
+ self.db.block_device_mapping_create(message.ctxt, bdm,
+ legacy=False)
+ return
+ # Unfortunately this update call wants BDM ID... but we don't know
+ # what it is in this cell. Search for it.. try matching either
+ # device_name or volume_id.
+ dev_name = bdm['device_name']
+ vol_id = bdm['volume_id']
+ instance_bdms = self.db.block_device_mapping_get_all_by_instance(
+ message.ctxt, bdm['instance_uuid'])
+ for instance_bdm in instance_bdms:
+ if dev_name and instance_bdm['device_name'] == dev_name:
+ break
+ if vol_id and instance_bdm['volume_id'] == vol_id:
+ break
+ else:
+ LOG.warn(_("No match when trying to update BDM: %(bdm)s"),
+ dict(bdm=bdm))
+ return
+ self.db.block_device_mapping_update(message.ctxt,
+ instance_bdm['id'], bdm,
+ legacy=False)
+
+ def bdm_destroy_at_top(self, message, instance_uuid, device_name,
+ volume_id):
+ """Destroy a block device mapping in API cells by device name
+ or volume_id. device_name or volume_id can be None, but not both.
+ """
+ if not self._at_the_top():
+ return
+ if device_name:
+ self.db.block_device_mapping_destroy_by_instance_and_device(
+ message.ctxt, instance_uuid, device_name)
+ elif volume_id:
+ self.db.block_device_mapping_destroy_by_instance_and_volume(
+ message.ctxt, instance_uuid, volume_id)
+
_CELL_MESSAGE_TYPE_TO_MESSAGE_CLS = {'targeted': _TargetedMessage,
'broadcast': _BroadcastMessage,
@@ -1344,6 +1405,25 @@ class MessageRunner(object):
cell_name, need_response=True)
return message.process()
+ def bdm_update_or_create_at_top(self, ctxt, bdm, create=None):
+ """Update/Create a BDM at top level cell."""
+ message = _BroadcastMessage(self, ctxt,
+ 'bdm_update_or_create_at_top',
+ dict(bdm=bdm, create=create),
+ 'up', run_locally=False)
+ message.process()
+
+ def bdm_destroy_at_top(self, ctxt, instance_uuid, device_name=None,
+ volume_id=None):
+ """Destroy a BDM at top level cell."""
+ method_kwargs = dict(instance_uuid=instance_uuid,
+ device_name=device_name,
+ volume_id=volume_id)
+ message = _BroadcastMessage(self, ctxt, 'bdm_destroy_at_top',
+ method_kwargs,
+ 'up', run_locally=False)
+ message.process()
+
@staticmethod
def get_message_types():
return _CELL_MESSAGE_TYPE_TO_MESSAGE_CLS.keys()
diff --git a/nova/cells/opts.py b/nova/cells/opts.py
index 4e3d75de4..5ab16f377 100644
--- a/nova/cells/opts.py
+++ b/nova/cells/opts.py
@@ -44,8 +44,13 @@ cells_opts = [
help='Percentage of cell capacity to hold in reserve. '
'Affects both memory and disk utilization'),
cfg.StrOpt('cell_type',
- default=None,
- help='Type of cell: api or compute'),
+ default=None,
+ help='Type of cell: api or compute'),
+ cfg.IntOpt("mute_child_interval",
+ default=300,
+ help='Number of seconds after which a lack of capability and '
+ 'capacity updates signals the child cell is to be '
+ 'treated as a mute.'),
]
cfg.CONF.register_opts(cells_opts, group='cells')
diff --git a/nova/cells/rpc_driver.py b/nova/cells/rpc_driver.py
index 0dcf1184c..6b11e0f05 100644
--- a/nova/cells/rpc_driver.py
+++ b/nova/cells/rpc_driver.py
@@ -34,6 +34,11 @@ CONF = cfg.CONF
CONF.register_opts(cell_rpc_driver_opts, group='cells')
CONF.import_opt('call_timeout', 'nova.cells.opts', group='cells')
+rpcapi_cap_opt = cfg.StrOpt('intercell',
+ default=None,
+ help='Set a version cap for messages sent between cells services')
+CONF.register_opt(rpcapi_cap_opt, 'upgrade_levels')
+
_CELL_TO_CELL_RPC_API_VERSION = '1.0'
@@ -103,9 +108,21 @@ class InterCellRPCAPI(rpc_proxy.RpcProxy):
API version history:
1.0 - Initial version.
+
+ ... Grizzly supports message version 1.0. So, any changes to existing
+ methods in 2.x after that point should be done such that they can
+ handle the version_cap being set to 1.0.
"""
+
+ VERSION_ALIASES = {
+ 'grizzly': '1.0',
+ }
+
def __init__(self, default_version):
- super(InterCellRPCAPI, self).__init__(None, default_version)
+ version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.intercell,
+ CONF.upgrade_levels.intercell)
+ super(InterCellRPCAPI, self).__init__(None, default_version,
+ version_cap=version_cap)
@staticmethod
def _get_server_params_for_cell(next_hop):
diff --git a/nova/cells/rpcapi.py b/nova/cells/rpcapi.py
index 767498291..6a5480073 100644
--- a/nova/cells/rpcapi.py
+++ b/nova/cells/rpcapi.py
@@ -26,13 +26,20 @@ from oslo.config import cfg
from nova import exception
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
from nova.openstack.common.rpc import proxy as rpc_proxy
+LOG = logging.getLogger(__name__)
CONF = cfg.CONF
CONF.import_opt('enable', 'nova.cells.opts', group='cells')
CONF.import_opt('topic', 'nova.cells.opts', group='cells')
+rpcapi_cap_opt = cfg.StrOpt('cells',
+ default=None,
+ help='Set a version cap for messages sent to local cells services')
+CONF.register_opt(rpcapi_cap_opt, 'upgrade_levels')
+
class CellsAPI(rpc_proxy.RpcProxy):
'''Cells client-side RPC API
@@ -49,15 +56,28 @@ class CellsAPI(rpc_proxy.RpcProxy):
1.5 - Adds actions_get(), action_get_by_request_id(), and
action_events_get()
1.6 - Adds consoleauth_delete_tokens() and validate_console_port()
+
+ ... Grizzly supports message version 1.6. So, any changes to existing
+ methods in 2.x after that point should be done such that they can
+ handle the version_cap being set to 1.6.
+
1.7 - Adds service_update()
1.8 - Adds build_instances(), deprecates schedule_run_instance()
1.9 - Adds get_capacities()
+ 1.10 - Adds bdm_update_or_create_at_top(), and bdm_destroy_at_top()
'''
BASE_RPC_API_VERSION = '1.0'
+ VERSION_ALIASES = {
+ 'grizzly': '1.6'
+ }
+
def __init__(self):
+ version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.cells,
+ CONF.upgrade_levels.cells)
super(CellsAPI, self).__init__(topic=CONF.cells.topic,
- default_version=self.BASE_RPC_API_VERSION)
+ default_version=self.BASE_RPC_API_VERSION,
+ version_cap=version_cap)
def cast_compute_api_method(self, ctxt, cell_name, method,
*args, **kwargs):
@@ -298,3 +318,34 @@ class CellsAPI(rpc_proxy.RpcProxy):
return self.call(ctxt,
self.make_msg('get_capacities', cell_name=cell_name),
version='1.9')
+
+ def bdm_update_or_create_at_top(self, ctxt, bdm, create=None):
+ """Create or update a block device mapping in API cells. If
+ create is True, only try to create. If create is None, try to
+ update but fall back to create. If create is False, only attempt
+ to update. This maps to nova-conductor's behavior.
+ """
+ if not CONF.cells.enable:
+ return
+ try:
+ self.cast(ctxt, self.make_msg('bdm_update_or_create_at_top',
+ bdm=bdm, create=create),
+ version='1.10')
+ except Exception:
+ LOG.exception(_("Failed to notify cells of BDM update/create."))
+
+ def bdm_destroy_at_top(self, ctxt, instance_uuid, device_name=None,
+ volume_id=None):
+ """Broadcast upwards that a block device mapping was destroyed.
+ One of device_name or volume_id should be specified.
+ """
+ if not CONF.cells.enable:
+ return
+ try:
+ self.cast(ctxt, self.make_msg('bdm_destroy_at_top',
+ instance_uuid=instance_uuid,
+ device_name=device_name,
+ volume_id=volume_id),
+ version='1.10')
+ except Exception:
+ LOG.exception(_("Failed to notify cells of BDM destroy."))
diff --git a/nova/cells/scheduler.py b/nova/cells/scheduler.py
index c54b9b578..c2b3ff2b7 100644
--- a/nova/cells/scheduler.py
+++ b/nova/cells/scheduler.py
@@ -24,6 +24,7 @@ from oslo.config import cfg
from nova.cells import filters
from nova.cells import weights
from nova import compute
+from nova.compute import flavors
from nova.compute import instance_actions
from nova.compute import utils as compute_utils
from nova.compute import vm_states
@@ -80,6 +81,10 @@ class CellsScheduler(base.Base):
def _create_instances_here(self, ctxt, instance_uuids, instance_properties,
instance_type, image, security_groups, block_device_mapping):
instance_values = copy.copy(instance_properties)
+ sys_metadata = flavors.save_flavor_info(dict(), instance_type)
+ instance_values['system_metadata'] = sys_metadata
+ instance_values.pop('name')
+
num_instances = len(instance_uuids)
for i, instance_uuid in enumerate(instance_uuids):
instance_values['uuid'] = instance_uuid
@@ -175,9 +180,10 @@ class CellsScheduler(base.Base):
"""Attempt to build instance(s) or send msg to child cell."""
ctxt = message.ctxt
instance_properties = build_inst_kwargs['instances'][0]
- instance_type = build_inst_kwargs['instance_type']
+ filter_properties = build_inst_kwargs['filter_properties']
+ instance_type = filter_properties['instance_type']
image = build_inst_kwargs['image']
- security_groups = build_inst_kwargs['security_group']
+ security_groups = build_inst_kwargs['security_groups']
block_device_mapping = build_inst_kwargs['block_device_mapping']
LOG.debug(_("Building instances with routing_path=%(routing_path)s"),
@@ -214,7 +220,8 @@ class CellsScheduler(base.Base):
instance_uuids = [inst['uuid'] for inst in
build_inst_kwargs['instances']]
instances = build_inst_kwargs['instances']
- request_spec = scheduler_utils.build_request_spec(image, instances)
+ request_spec = scheduler_utils.build_request_spec(message.ctxt,
+ image, instances)
filter_properties = copy.copy(build_inst_kwargs['filter_properties'])
filter_properties.update({'context': message.ctxt,
'scheduler': self,
diff --git a/nova/cells/state.py b/nova/cells/state.py
index 37813d581..14fa97507 100644
--- a/nova/cells/state.py
+++ b/nova/cells/state.py
@@ -42,6 +42,7 @@ LOG = logging.getLogger(__name__)
CONF = cfg.CONF
CONF.import_opt('name', 'nova.cells.opts', group='cells')
CONF.import_opt('reserve_percent', 'nova.cells.opts', group='cells')
+CONF.import_opt('mute_child_interval', 'nova.cells.opts', group='cells')
#CONF.import_opt('capabilities', 'nova.cells.opts', group='cells')
CONF.register_opts(cell_state_manager_opts, group='cells')
@@ -340,6 +341,9 @@ class CellStateManager(base.Base):
capabs = copy.deepcopy(self.my_cell_state.capabilities)
if include_children:
for cell in self.child_cells.values():
+ if timeutils.is_older_than(cell.last_seen,
+ CONF.cells.mute_child_interval):
+ continue
for capab_name, values in cell.capabilities.items():
if capab_name not in capabs:
capabs[capab_name] = set([])
diff --git a/nova/cells/weights/mute_child.py b/nova/cells/weights/mute_child.py
index 0f6fb0bbb..82139d4f3 100644
--- a/nova/cells/weights/mute_child.py
+++ b/nova/cells/weights/mute_child.py
@@ -35,14 +35,10 @@ mute_weigher_opts = [
default=1000.0,
help='Weight value assigned to mute children. (The value '
'should be positive.)'),
- cfg.IntOpt("mute_child_interval",
- default=300,
- help='Number of seconds after which a lack of capability and '
- 'capacity updates signals the child cell is to be '
- 'treated as a mute.')
]
CONF = cfg.CONF
+CONF.import_opt('mute_child_interval', 'nova.cells.opts', group='cells')
CONF.register_opts(mute_weigher_opts, group='cells')
diff --git a/nova/cert/rpcapi.py b/nova/cert/rpcapi.py
index 505efe75f..f4311b517 100644
--- a/nova/cert/rpcapi.py
+++ b/nova/cert/rpcapi.py
@@ -31,6 +31,11 @@ rpcapi_opts = [
CONF = cfg.CONF
CONF.register_opts(rpcapi_opts)
+rpcapi_cap_opt = cfg.StrOpt('cert',
+ default=None,
+ help='Set a version cap for messages sent to cert services')
+CONF.register_opt(rpcapi_cap_opt, 'upgrade_levels')
+
class CertAPI(nova.openstack.common.rpc.proxy.RpcProxy):
'''Client side of the cert rpc API.
@@ -39,6 +44,10 @@ class CertAPI(nova.openstack.common.rpc.proxy.RpcProxy):
1.0 - Initial version.
1.1 - Added get_backdoor_port()
+
+ ... Grizzly supports message version 1.1. So, any changes to existing
+ methods in 2.x after that point should be done such that they can
+ handle the version_cap being set to 1.1.
'''
#
@@ -51,10 +60,17 @@ class CertAPI(nova.openstack.common.rpc.proxy.RpcProxy):
#
BASE_RPC_API_VERSION = '1.0'
+ VERSION_ALIASES = {
+ 'grizzly': '1.1',
+ }
+
def __init__(self):
+ version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.cert,
+ CONF.upgrade_levels.cert)
super(CertAPI, self).__init__(
topic=CONF.cert_topic,
- default_version=self.BASE_RPC_API_VERSION)
+ default_version=self.BASE_RPC_API_VERSION,
+ version_cap=version_cap)
def revoke_certs_by_user(self, ctxt, user_id):
return self.call(ctxt, self.make_msg('revoke_certs_by_user',
diff --git a/nova/cmd/baremetal_deploy_helper.py b/nova/cmd/baremetal_deploy_helper.py
index 8586e6e59..6a2a54692 100644
--- a/nova/cmd/baremetal_deploy_helper.py
+++ b/nova/cmd/baremetal_deploy_helper.py
@@ -91,6 +91,7 @@ def make_partitions(dev, root_mb, swap_mb):
stdin_command = ('1,%d,83;\n,%d,82;\n0,0;\n0,0;\n' % (root_mb, swap_mb))
utils.execute('sfdisk', '-uM', dev, process_input=stdin_command,
run_as_root=True,
+ attempts=3,
check_exit_code=[0])
# avoid "device is busy"
time.sleep(3)
@@ -176,14 +177,14 @@ def work_on_disk(dev, root_mb, swap_mb, image_path):
swap_part = "%s-part2" % dev
if not is_block_device(dev):
- LOG.warn("parent device '%s' not found", dev)
+ LOG.warn(_("parent device '%s' not found"), dev)
return
make_partitions(dev, root_mb, swap_mb)
if not is_block_device(root_part):
- LOG.warn("root device '%s' not found", root_part)
+ LOG.warn(_("root device '%s' not found"), root_part)
return
if not is_block_device(swap_part):
- LOG.warn("swap device '%s' not found", swap_part)
+ LOG.warn(_("swap device '%s' not found"), swap_part)
return
dd(image_path, root_part)
mkswap(swap_part)
@@ -192,7 +193,7 @@ def work_on_disk(dev, root_mb, swap_mb, image_path):
root_uuid = block_uuid(root_part)
except processutils.ProcessExecutionError as err:
with excutils.save_and_reraise_exception():
- LOG.error("Failed to detect root device UUID.")
+ LOG.error(_("Failed to detect root device UUID."))
return root_uuid
@@ -210,9 +211,9 @@ def deploy(address, port, iqn, lun, image_path, pxe_config_path,
except processutils.ProcessExecutionError as err:
with excutils.save_and_reraise_exception():
# Log output if there was a error
- LOG.error("Cmd : %s" % err.cmd)
- LOG.error("StdOut : %s" % err.stdout)
- LOG.error("StdErr : %s" % err.stderr)
+ LOG.error(_("Cmd : %s"), err.cmd)
+ LOG.error(_("StdOut : %s"), err.stdout)
+ LOG.error(_("StdErr : %s"), err.stderr)
finally:
logout_iscsi(address, port, iqn)
switch_pxe_config(pxe_config_path, root_uuid)
@@ -248,11 +249,11 @@ class Worker(threading.Thread):
{'task_state': baremetal_states.DEPLOYING})
deploy(**params)
except Exception:
- LOG.exception(_('deployment to node %s failed') % node_id)
+ LOG.exception(_('deployment to node %s failed'), node_id)
db.bm_node_update(context, node_id,
{'task_state': baremetal_states.DEPLOYFAIL})
else:
- LOG.info(_('deployment to node %s done') % node_id)
+ LOG.info(_('deployment to node %s done'), node_id)
db.bm_node_update(context, node_id,
{'task_state': baremetal_states.DEPLOYDONE})
@@ -274,7 +275,7 @@ class BareMetalDeploy(object):
return 'Not Implemented'
def post(self, environ, start_response):
- LOG.info("post: environ=%s", environ)
+ LOG.info(_("post: environ=%s"), environ)
inpt = environ['wsgi.input']
length = int(environ.get('CONTENT_LENGTH', 0))
@@ -287,10 +288,14 @@ class BareMetalDeploy(object):
port = q.get('p', '3260')
iqn = q['n']
lun = q.get('l', '1')
+ err_msg = q.get('e')
except KeyError as e:
start_response('400 Bad Request', [('Content-type', 'text/plain')])
return "parameter '%s' is not defined" % e
+ if err_msg:
+ LOG.error(_('Deploy agent error message: %s'), err_msg)
+
context = nova_context.get_admin_context()
d = db.bm_node_get(context, node_id)
@@ -311,7 +316,8 @@ class BareMetalDeploy(object):
if not self.worker.isAlive():
self.worker = Worker()
self.worker.start()
- LOG.info("request is queued: node %s, params %s", node_id, params)
+ LOG.info(_("request is queued: node %(node_id)s, params %(params)s"),
+ {'node_id': node_id, 'params': params})
QUEUE.put((node_id, params))
# Requests go to Worker.run()
start_response('200 OK', [('Content-type', 'text/plain')])
diff --git a/nova/cmd/manage.py b/nova/cmd/manage.py
index 46e6d371f..df54e8677 100644
--- a/nova/cmd/manage.py
+++ b/nova/cmd/manage.py
@@ -72,7 +72,6 @@ from nova.openstack.common.db import exception as db_exc
from nova.openstack.common import importutils
from nova.openstack.common import log as logging
from nova.openstack.common import rpc
-from nova.openstack.common import timeutils
from nova import quota
from nova import servicegroup
from nova import version
@@ -655,7 +654,6 @@ class ServiceCommands(object):
"""
servicegroup_api = servicegroup.API()
ctxt = context.get_admin_context()
- now = timeutils.utcnow()
services = db.service_get_all(ctxt)
services = availability_zones.set_availability_zones(ctxt, services)
if host:
@@ -1003,13 +1001,12 @@ class AgentBuildCommands(object):
hypervisor='xen'):
"""Creates a new agent build."""
ctxt = context.get_admin_context()
- agent_build = db.agent_build_create(ctxt,
- {'hypervisor': hypervisor,
- 'os': os,
- 'architecture': architecture,
- 'version': version,
- 'url': url,
- 'md5hash': md5hash})
+ db.agent_build_create(ctxt, {'hypervisor': hypervisor,
+ 'os': os,
+ 'architecture': architecture,
+ 'version': version,
+ 'url': url,
+ 'md5hash': md5hash})
def delete(self, os, architecture, hypervisor='xen'):
"""Deletes an existing agent build."""
diff --git a/nova/compute/api.py b/nova/compute/api.py
index 1e24e8ce5..48d404148 100644
--- a/nova/compute/api.py
+++ b/nova/compute/api.py
@@ -110,10 +110,12 @@ RO_SECURITY_GROUPS = ['default']
SM_IMAGE_PROP_PREFIX = "image_"
-def check_instance_state(vm_state=None, task_state=(None,)):
+def check_instance_state(vm_state=None, task_state=(None,),
+ must_have_launched=True):
"""Decorator to check VM and/or task state before entry to API functions.
- If the instance is in the wrong state, the wrapper will raise an exception.
+ If the instance is in the wrong state, or has not been sucessfully started
+ at least once the wrapper will raise an exception.
"""
if vm_state is not None and not isinstance(vm_state, set):
@@ -137,6 +139,13 @@ def check_instance_state(vm_state=None, task_state=(None,)):
instance_uuid=instance['uuid'],
state=instance['task_state'],
method=f.__name__)
+ if must_have_launched and not instance['launched_at']:
+ raise exception.InstanceInvalidState(
+ attr=None,
+ not_launched=True,
+ instance_uuid=instance['uuid'],
+ state=instance['vm_state'],
+ method=f.__name__)
return f(self, context, instance, *args, **kw)
return inner
@@ -487,21 +496,20 @@ class API(base.Base):
instance['uuid'], updates)
return instance
- def _check_config_drive(self, context, config_drive):
- try:
- bool_like = strutils.bool_from_string(config_drive, strict=True)
- except ValueError:
- bool_like = False
-
- if config_drive is None:
- return None, None
- elif bool_like:
- return None, bool_like
+ def _check_config_drive(self, config_drive):
+ if config_drive:
+ try:
+ bool_val = strutils.bool_from_string(config_drive,
+ strict=True)
+ except ValueError:
+ raise exception.ConfigDriveInvalidValue(option=config_drive)
else:
- cd_image_service, config_drive_id = \
- glance.get_remote_image_service(context, config_drive)
- cd_image_service.show(context, config_drive_id)
- return config_drive_id, None
+ bool_val = False
+ # FIXME(comstud): Bug ID 1193438 filed for this. This looks silly,
+ # but this is because the config drive column is a String. False
+ # is represented by using an empty string. And for whatever
+ # reason, we rely on the DB to cast True to a String.
+ return True if bool_val else ''
def _check_requested_image(self, context, image_id, image, instance_type):
if not image:
@@ -589,8 +597,7 @@ class API(base.Base):
kernel_id, ramdisk_id = self._handle_kernel_and_ramdisk(
context, kernel_id, ramdisk_id, image)
- config_drive_id, config_drive = self._check_config_drive(
- context, config_drive)
+ config_drive = self._check_config_drive(config_drive)
if key_data is None and key_name:
key_pair = self.db.key_pair_get(context, context.user_id,
@@ -610,8 +617,7 @@ class API(base.Base):
'ramdisk_id': ramdisk_id or '',
'power_state': power_state.NOSTATE,
'vm_state': vm_states.BUILDING,
- 'config_drive_id': config_drive_id or '',
- 'config_drive': config_drive or '',
+ 'config_drive': config_drive,
'user_id': context.user_id,
'project_id': context.project_id,
'instance_type_id': instance_type['id'],
@@ -1305,7 +1311,8 @@ class API(base.Base):
# NOTE(maoy): we allow delete to be called no matter what vm_state says.
@wrap_check_policy
@check_instance_lock
- @check_instance_state(vm_state=None, task_state=None)
+ @check_instance_state(vm_state=None, task_state=None,
+ must_have_launched=True)
def soft_delete(self, context, instance):
"""Terminate an instance."""
LOG.debug(_('Going to try to soft delete instance'),
@@ -1329,7 +1336,8 @@ class API(base.Base):
@wrap_check_policy
@check_instance_lock
- @check_instance_state(vm_state=None, task_state=None)
+ @check_instance_state(vm_state=None, task_state=None,
+ must_have_launched=False)
def delete(self, context, instance):
"""Terminate an instance."""
LOG.debug(_("Going to try to terminate instance"), instance=instance)
@@ -1369,7 +1377,8 @@ class API(base.Base):
@wrap_check_policy
@check_instance_lock
- @check_instance_state(vm_state=[vm_states.SOFT_DELETED])
+ @check_instance_state(vm_state=[vm_states.SOFT_DELETED],
+ must_have_launched=False)
def force_delete(self, context, instance):
"""Force delete a previously deleted (but not reclaimed) instance."""
self._delete_instance(context, instance)
@@ -1790,7 +1799,8 @@ class API(base.Base):
@wrap_check_policy
@check_instance_lock
@check_instance_state(vm_state=[vm_states.ACTIVE, vm_states.STOPPED,
- vm_states.PAUSED, vm_states.SUSPENDED],
+ vm_states.PAUSED, vm_states.SUSPENDED,
+ vm_states.ERROR],
task_state=[None, task_states.REBOOTING,
task_states.REBOOTING_HARD,
task_states.RESUMING,
@@ -1826,7 +1836,8 @@ class API(base.Base):
@wrap_check_policy
@check_instance_lock
- @check_instance_state(vm_state=[vm_states.ACTIVE, vm_states.STOPPED],
+ @check_instance_state(vm_state=[vm_states.ACTIVE, vm_states.STOPPED,
+ vm_states.ERROR],
task_state=[None])
def rebuild(self, context, instance, image_href, admin_password, **kwargs):
"""Rebuild the given instance with the provided attributes."""
@@ -2224,7 +2235,8 @@ class API(base.Base):
@wrap_check_policy
@check_instance_lock
- @check_instance_state(vm_state=[vm_states.ACTIVE, vm_states.STOPPED])
+ @check_instance_state(vm_state=[vm_states.ACTIVE, vm_states.STOPPED,
+ vm_states.ERROR])
def rescue(self, context, instance, rescue_password=None):
"""Rescue the given instance."""
@@ -3201,7 +3213,8 @@ class SecurityGroupAPI(base.Base, security_group_base.SecurityGroupBase):
def trigger_rules_refresh(self, context, id):
"""Called when a rule is added to or removed from a security_group."""
- security_group = self.db.security_group_get(context, id)
+ security_group = self.db.security_group_get(
+ context, id, columns_to_join=['instances'])
for instance in security_group['instances']:
if instance['host'] is not None:
@@ -3227,8 +3240,8 @@ class SecurityGroupAPI(base.Base, security_group_base.SecurityGroupBase):
security_groups = set()
for rule in security_group_rules:
security_group = self.db.security_group_get(
- context,
- rule['parent_group_id'])
+ context, rule['parent_group_id'],
+ columns_to_join=['instances'])
security_groups.add(security_group)
# ..then we find the instances that are members of these groups..
diff --git a/nova/compute/cells_api.py b/nova/compute/cells_api.py
index 6f1e12480..ddf959ef3 100644
--- a/nova/compute/cells_api.py
+++ b/nova/compute/cells_api.py
@@ -520,8 +520,6 @@ class ComputeCellsAPI(compute_api.API):
"""Attach an existing volume to an existing instance."""
if device and not block_device.match_device(device):
raise exception.InvalidDevicePath(path=device)
- device = self.compute_rpcapi.reserve_block_device_name(
- context, device=device, instance=instance, volume_id=volume_id)
try:
volume = self.volume_api.get(context, volume_id)
self.volume_api.check_attach(context, volume, instance=instance)
@@ -529,7 +527,7 @@ class ComputeCellsAPI(compute_api.API):
with excutils.save_and_reraise_exception():
self.db.block_device_mapping_destroy_by_instance_and_device(
context, instance['uuid'], device)
- self._cast_to_cells(context, instance, 'attach_volume',
+ return self._call_to_cells(context, instance, 'attach_volume',
volume_id, device)
@validate_cell
diff --git a/nova/compute/flavors.py b/nova/compute/flavors.py
index 59d5d5715..a18b375d8 100644
--- a/nova/compute/flavors.py
+++ b/nova/compute/flavors.py
@@ -95,20 +95,20 @@ def create(name, memory, vcpus, root_gb, ephemeral_gb=0, flavorid=None,
# Some attributes are positive ( > 0) integers
for option in ['memory_mb', 'vcpus']:
try:
+ assert int(str(kwargs[option])) > 0
kwargs[option] = int(kwargs[option])
- assert kwargs[option] > 0
- except (ValueError, AssertionError):
- msg = _("'%s' argument must be greater than 0") % option
+ except (ValueError, AssertionError, TypeError):
+ msg = _("'%s' argument must be a positive integer") % option
raise exception.InvalidInput(reason=msg)
# Some attributes are non-negative ( >= 0) integers
for option in ['root_gb', 'ephemeral_gb', 'swap']:
try:
+ assert int(str(kwargs[option])) >= 0
kwargs[option] = int(kwargs[option])
- assert kwargs[option] >= 0
- except (ValueError, AssertionError):
- msg = _("'%s' argument must be greater than or equal"
- " to 0") % option
+ except (ValueError, AssertionError, TypeError):
+ msg = _("'%s' argument must be an integer greater than or"
+ " equal to 0") % option
raise exception.InvalidInput(reason=msg)
# rxtx_factor should be a positive float
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index 11ec70e44..6d18952bf 100755
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -106,6 +106,9 @@ compute_opts = [
default=False,
help='Whether to start guests that were running before the '
'host rebooted'),
+ cfg.IntOpt('network_allocate_retries',
+ default=0,
+ help="Number of times to retry network allocation on failures"),
]
interval_opts = [
@@ -282,7 +285,8 @@ def object_compat(function):
instance = kwargs['instance']
if isinstance(instance, dict):
kwargs['instance'] = instance_obj.Instance._from_db_object(
- instance_obj.Instance(), instance, expected_attrs=metas)
+ context, instance_obj.Instance(), instance,
+ expected_attrs=metas)
kwargs['instance']._context = context
return function(self, context, **kwargs)
@@ -408,7 +412,8 @@ class ComputeManager(manager.SchedulerDependentManager):
'trying to set it to ERROR'),
instance_uuid=instance_uuid)
- def _get_instances_on_driver(self, context, filters=None):
+ def _get_instances_on_driver(self, context, filters=None,
+ columns_to_join=None):
"""Return a list of instance records for the instances found
on the hypervisor which satisfy the specified filters. If filters=None
return a list of instance records for all the instances found on the
@@ -420,7 +425,7 @@ class ComputeManager(manager.SchedulerDependentManager):
driver_uuids = self.driver.list_instance_uuids()
filters['uuid'] = driver_uuids
local_instances = self.conductor_api.instance_get_all_by_filters(
- context, filters, columns_to_join=[])
+ context, filters, columns_to_join=columns_to_join)
return local_instances
except NotImplementedError:
pass
@@ -429,7 +434,7 @@ class ComputeManager(manager.SchedulerDependentManager):
# to brute force.
driver_instances = self.driver.list_instances()
instances = self.conductor_api.instance_get_all_by_filters(
- context, filters, columns_to_join=[])
+ context, filters, columns_to_join=columns_to_join)
name_map = dict((instance['name'], instance) for instance in instances)
local_instances = []
for driver_instance in driver_instances:
@@ -495,7 +500,7 @@ class ComputeManager(manager.SchedulerDependentManager):
'assuming it\'s not on shared storage'),
instance=instance)
shared_storage = False
- except Exception as e:
+ except Exception:
LOG.exception(_('Failed to check if instance shared'),
instance=instance)
finally:
@@ -643,7 +648,11 @@ class ComputeManager(manager.SchedulerDependentManager):
def handle_events(self, event):
if isinstance(event, virtevent.LifecycleEvent):
- self.handle_lifecycle_event(event)
+ try:
+ self.handle_lifecycle_event(event)
+ except exception.InstanceNotFound:
+ LOG.debug(_("Event %s arrived for non-existent instance. The "
+ "instance was probably deleted.") % event)
else:
LOG.debug(_("Ignoring event %s") % event)
@@ -878,7 +887,7 @@ class ComputeManager(manager.SchedulerDependentManager):
extra_usage_info = {}
- def notify(status, msg=None):
+ def notify(status, msg=None, **kwargs):
"""Send a create.{start,error,end} notification."""
type_ = "create.%(status)s" % dict(status=status)
info = extra_usage_info.copy()
@@ -886,7 +895,7 @@ class ComputeManager(manager.SchedulerDependentManager):
msg = ""
info['message'] = msg
self._notify_about_instance_usage(context, instance, type_,
- extra_usage_info=info)
+ extra_usage_info=info, **kwargs)
try:
image_meta = self._prebuild_instance(context, instance)
@@ -895,10 +904,11 @@ class ComputeManager(manager.SchedulerDependentManager):
notify("start") # notify that build is starting
- instance = self._build_instance(context, request_spec,
- filter_properties, requested_networks, injected_files,
- admin_password, is_first_time, node, instance, image_meta)
- notify("end", msg=_("Success")) # notify that build is done
+ instance, network_info = self._build_instance(context,
+ request_spec, filter_properties, requested_networks,
+ injected_files, admin_password, is_first_time, node,
+ instance, image_meta)
+ notify("end", msg=_("Success"), network_info=network_info)
except exception.RescheduledException as e:
# Instance build encountered an error, and has been rescheduled.
@@ -985,15 +995,19 @@ class ComputeManager(manager.SchedulerDependentManager):
set_access_ip=set_access_ip)
except exception.InstanceNotFound:
# the instance got deleted during the spawn
- with excutils.save_and_reraise_exception():
- # Make sure the async call finishes
- if network_info is not None:
- network_info.wait(do_raise=False)
- try:
- self._deallocate_network(context, instance)
- except Exception:
- LOG.exception(_('Failed to dealloc network for '
- 'deleted instance'), instance=instance)
+ # Make sure the async call finishes
+ msg = _("Instance disappeared during build")
+ if network_info is not None:
+ network_info.wait(do_raise=False)
+ try:
+ self._deallocate_network(context, instance)
+ except Exception:
+ msg = _('Failed to dealloc network '
+ 'for deleted instance')
+ LOG.exception(msg, instance=instance)
+ raise exception.BuildAbortException(
+ instance_uuid=instance['uuid'],
+ reason=msg)
except exception.UnexpectedTaskStateError as e:
exc_info = sys.exc_info()
# Make sure the async call finishes
@@ -1028,7 +1042,7 @@ class ComputeManager(manager.SchedulerDependentManager):
raise exc_info[0], exc_info[1], exc_info[2]
# spawn success
- return instance
+ return instance, network_info
def _log_original_error(self, exc_info, instance_uuid):
type_, value, tb = exc_info
@@ -1145,6 +1159,50 @@ class ComputeManager(manager.SchedulerDependentManager):
expected_task_state=(task_states.SCHEDULING,
None))
+ def _allocate_network_async(self, context, instance, requested_networks,
+ macs, security_groups, is_vpn):
+ """Method used to allocate networks in the background.
+
+ Broken out for testing.
+ """
+ LOG.debug(_("Allocating IP information in the background."),
+ instance=instance)
+ retries = CONF.network_allocate_retries
+ if retries < 0:
+ LOG.warn(_("Treating negative config value (%(retries)s) for "
+ "'network_allocate_retries' as 0."),
+ {'retries': retries})
+ attempts = retries > 1 and retries + 1 or 1
+ retry_time = 1
+ for attempt in range(1, attempts + 1):
+ try:
+ nwinfo = self.network_api.allocate_for_instance(
+ context, instance, vpn=is_vpn,
+ requested_networks=requested_networks,
+ macs=macs,
+ conductor_api=self.conductor_api,
+ security_groups=security_groups)
+ LOG.debug(_('Instance network_info: |%s|'), nwinfo,
+ instance=instance)
+ return nwinfo
+ except Exception:
+ exc_info = sys.exc_info()
+ log_info = {'attempt': attempt,
+ 'attempts': attempts}
+ if attempt == attempts:
+ LOG.exception(_('Instance failed network setup '
+ 'after %(attempts)d attempt(s)'),
+ log_info)
+ raise exc_info[0], exc_info[1], exc_info[2]
+ LOG.warn(_('Instance failed network setup '
+ '(attempt %(attempt)d of %(attempts)d)'),
+ log_info, instance=instance)
+ time.sleep(retry_time)
+ retry_time *= 2
+ if retry_time > 30:
+ retry_time = 30
+ # Not reached.
+
def _allocate_network(self, context, instance, requested_networks, macs,
security_groups):
"""Start network allocation asynchronously. Return an instance
@@ -1159,25 +1217,9 @@ class ComputeManager(manager.SchedulerDependentManager):
task_state=task_states.NETWORKING,
expected_task_state=None)
is_vpn = pipelib.is_vpn_image(instance['image_ref'])
-
- def async_alloc():
- LOG.debug(_("Allocating IP information in the background."),
- instance=instance)
- try:
- nwinfo = self.network_api.allocate_for_instance(
- context, instance, vpn=is_vpn,
- requested_networks=requested_networks,
- macs=macs,
- conductor_api=self.conductor_api,
- security_groups=security_groups)
- except Exception:
- with excutils.save_and_reraise_exception():
- LOG.exception(_('Instance failed network setup'),
- instance=instance)
- LOG.debug(_('Instance network_info: |%s|'), nwinfo,
- instance=instance)
- return nwinfo
- return network_model.NetworkInfoAsyncWrapper(async_alloc)
+ return network_model.NetworkInfoAsyncWrapper(
+ self._allocate_network_async, context, instance,
+ requested_networks, macs, security_groups, is_vpn)
def _prep_block_device(self, context, instance, bdms):
"""Set up the block device for an instance with error logging."""
@@ -1344,7 +1386,7 @@ class ComputeManager(manager.SchedulerDependentManager):
# get network info before tearing down
try:
network_info = self._get_instance_nw_info(context, instance)
- except exception.NetworkNotFound:
+ except (exception.NetworkNotFound, exception.NoMoreFixedIps):
network_info = network_model.NetworkInfo()
# NOTE(vish) get bdms before destroying the instance
@@ -1446,7 +1488,7 @@ class ComputeManager(manager.SchedulerDependentManager):
vm_state=vm_states.DELETED,
task_state=None,
terminated_at=timeutils.utcnow())
- system_meta = utils.metadata_to_dict(instance['system_metadata'])
+ system_meta = utils.instance_sys_meta(instance)
self.conductor_api.instance_destroy(context, instance)
except Exception:
with excutils.save_and_reraise_exception():
@@ -1538,7 +1580,14 @@ class ComputeManager(manager.SchedulerDependentManager):
def start_instance(self, context, instance):
"""Starting an instance on this host."""
self._notify_about_instance_usage(context, instance, "power_on.start")
- self.driver.power_on(instance)
+
+ network_info = self._get_instance_nw_info(context, instance)
+ block_device_info = self._get_instance_volume_block_device_info(
+ context, instance)
+ self.driver.power_on(context, instance,
+ self._legacy_nw_info(network_info),
+ block_device_info)
+
current_power_state = self._get_power_state(context, instance)
instance.power_state = current_power_state
instance.vm_state = vm_states.ACTIVE
@@ -1593,7 +1642,12 @@ class ComputeManager(manager.SchedulerDependentManager):
except NotImplementedError:
# Fallback to just powering on the instance if the hypervisor
# doesn't implement the restore method
- self.driver.power_on(instance)
+ network_info = self._get_instance_nw_info(context, instance)
+ block_device_info = self._get_instance_volume_block_device_info(
+ context, instance)
+ self.driver.power_on(context, instance,
+ self._legacy_nw_info(network_info),
+ block_device_info)
current_power_state = self._get_power_state(context, instance)
instance = self._instance_update(context, instance['uuid'],
power_state=current_power_state,
@@ -1900,53 +1954,70 @@ class ComputeManager(manager.SchedulerDependentManager):
context = context.elevated()
current_power_state = self._get_power_state(context, instance)
- instance = self._instance_update(context, instance['uuid'],
- power_state=current_power_state)
-
- LOG.audit(_('instance snapshotting'), context=context,
+ try:
+ instance = self._instance_update(context, instance['uuid'],
+ power_state=current_power_state)
+ LOG.audit(_('instance snapshotting'), context=context,
instance=instance)
- if instance['power_state'] != power_state.RUNNING:
- state = instance['power_state']
- running = power_state.RUNNING
- LOG.warn(_('trying to snapshot a non-running instance: '
+ if instance['power_state'] != power_state.RUNNING:
+ state = instance['power_state']
+ running = power_state.RUNNING
+ LOG.warn(_('trying to snapshot a non-running instance: '
'(state: %(state)s expected: %(running)s)'),
{'state': state, 'running': running},
instance=instance)
- self._notify_about_instance_usage(
+ self._notify_about_instance_usage(
context, instance, "snapshot.start")
- if image_type == 'snapshot':
- expected_task_state = task_states.IMAGE_SNAPSHOT
+ if image_type == 'snapshot':
+ expected_task_state = task_states.IMAGE_SNAPSHOT
- elif image_type == 'backup':
- expected_task_state = task_states.IMAGE_BACKUP
+ elif image_type == 'backup':
+ expected_task_state = task_states.IMAGE_BACKUP
- def update_task_state(task_state, expected_state=expected_task_state):
- return self._instance_update(context, instance['uuid'],
- task_state=task_state,
- expected_task_state=expected_state)
+ def update_task_state(task_state,
+ expected_state=expected_task_state):
+ return self._instance_update(context, instance['uuid'],
+ task_state=task_state,
+ expected_task_state=expected_state
+ )
- self.driver.snapshot(context, instance, image_id, update_task_state)
- # The instance could have changed from the driver. But since
- # we're doing a fresh update here, we'll grab the changes.
+ self.driver.snapshot(context, instance, image_id,
+ update_task_state)
+ # The instance could have changed from the driver. But since
+ # we're doing a fresh update here, we'll grab the changes.
- instance = self._instance_update(context, instance['uuid'],
- task_state=None,
- expected_task_state=task_states.IMAGE_UPLOADING)
+ instance = self._instance_update(context, instance['uuid'],
+ task_state=None,
+ expected_task_state=
+ task_states.IMAGE_UPLOADING)
- if image_type == 'snapshot' and rotation:
- raise exception.ImageRotationNotAllowed()
+ if image_type == 'snapshot' and rotation:
+ raise exception.ImageRotationNotAllowed()
- elif image_type == 'backup' and rotation >= 0:
- self._rotate_backups(context, instance, backup_type, rotation)
+ elif image_type == 'backup' and rotation >= 0:
+ self._rotate_backups(context, instance, backup_type, rotation)
- elif image_type == 'backup':
- raise exception.RotationRequiredForBackup()
+ elif image_type == 'backup':
+ raise exception.RotationRequiredForBackup()
- self._notify_about_instance_usage(
- context, instance, "snapshot.end")
+ self._notify_about_instance_usage(context, instance,
+ "snapshot.end")
+
+ except exception.InstanceNotFound:
+ # the instance got deleted during the snapshot
+ # Quickly bail out of here
+ msg = _("Instance disappeared during snapshot")
+ LOG.debug(msg, instance=instance)
+ except exception.UnexpectedTaskStateError as e:
+ actual_task_state = e.kwargs.get('actual', None)
+ if actual_task_state == 'deleting':
+ msg = _('Instance was deleted during snapshot.')
+ LOG.debug(msg, instance=instance)
+ else:
+ raise
@wrap_instance_fault
def _rotate_backups(self, context, instance, backup_type, rotation):
@@ -2071,7 +2142,7 @@ class ComputeManager(manager.SchedulerDependentManager):
def _get_rescue_image_ref(self, context, instance):
"""Determine what image should be used to boot the rescue VM."""
- system_meta = utils.metadata_to_dict(instance['system_metadata'])
+ system_meta = utils.instance_sys_meta(instance)
rescue_image_ref = system_meta.get('image_base_image_ref')
@@ -2173,7 +2244,7 @@ class ComputeManager(manager.SchedulerDependentManager):
Returns the updated system_metadata as a dict, as well as the
post-cleanup current instance type.
"""
- sys_meta = utils.metadata_to_dict(instance['system_metadata'])
+ sys_meta = utils.instance_sys_meta(instance)
if restore_old:
instance_type = flavors.extract_flavor(instance, 'old_')
sys_meta = flavors.save_flavor_info(sys_meta, instance_type)
@@ -2239,7 +2310,8 @@ class ComputeManager(manager.SchedulerDependentManager):
instance = self._instance_update(context, instance['uuid'],
vm_state=vm_state,
task_state=None,
- expected_task_state=None)
+ expected_task_state=[None,
+ task_states.DELETING])
self._notify_about_instance_usage(
context, instance, "resize.confirm.end",
@@ -2426,9 +2498,8 @@ class ComputeManager(manager.SchedulerDependentManager):
# NOTE(danms): Stash the new instance_type to avoid having to
# look it up in the database later
- sys_meta = utils.metadata_to_dict(instance['system_metadata'])
- flavors.save_flavor_info(sys_meta, instance_type,
- prefix='new_')
+ sys_meta = utils.instance_sys_meta(instance)
+ flavors.save_flavor_info(sys_meta, instance_type, prefix='new_')
# NOTE(mriedem): Stash the old vm_state so we can set the
# resized/reverted instance back to the same state later.
vm_state = instance['vm_state']
@@ -2598,7 +2669,7 @@ class ComputeManager(manager.SchedulerDependentManager):
old_instance_type_id = migration['old_instance_type_id']
new_instance_type_id = migration['new_instance_type_id']
old_instance_type = flavors.extract_flavor(instance)
- sys_meta = utils.metadata_to_dict(instance['system_metadata'])
+ sys_meta = utils.instance_sys_meta(instance)
# NOTE(mriedem): Get the old_vm_state so we know if we should
# power on the instance. If old_vm_sate is not set we need to default
# to ACTIVE for backwards compatibility
@@ -3613,20 +3684,20 @@ class ComputeManager(manager.SchedulerDependentManager):
while not instance or instance['host'] != self.host:
if instance_uuids:
try:
- instance = self.conductor_api.instance_get_by_uuid(context,
- instance_uuids.pop(0))
+ instance = instance_obj.Instance.get_by_uuid(
+ context, instance_uuids.pop(0))
except exception.InstanceNotFound:
# Instance is gone. Try to grab another.
continue
else:
# No more in our copy of uuids. Pull from the DB.
- db_instances = self.conductor_api.instance_get_all_by_host(
- context, self.host, columns_to_join=[])
+ db_instances = instance_obj.InstanceList.get_by_host(
+ context, self.host, expected_attrs=[])
if not db_instances:
# None.. just return.
return
- instance = db_instances.pop(0)
- instance_uuids = [inst['uuid'] for inst in db_instances]
+ instance = db_instances[0]
+ instance_uuids = [inst['uuid'] for inst in db_instances[1:]]
self._instance_uuids_to_heal = instance_uuids
# We have an instance now and it's ours
@@ -3675,62 +3746,64 @@ class ComputeManager(manager.SchedulerDependentManager):
@periodic_task.periodic_task
def _poll_unconfirmed_resizes(self, context):
- if CONF.resize_confirm_window > 0:
- capi = self.conductor_api
- migrations = capi.migration_get_unconfirmed_by_dest_compute(
- context, CONF.resize_confirm_window, self.host)
-
- migrations_info = dict(migration_count=len(migrations),
- confirm_window=CONF.resize_confirm_window)
-
- if migrations_info["migration_count"] > 0:
- LOG.info(_("Found %(migration_count)d unconfirmed migrations "
- "older than %(confirm_window)d seconds"),
- migrations_info)
-
- def _set_migration_to_error(migration, reason, **kwargs):
- LOG.warn(_("Setting migration %(migration_id)s to error: "
- "%(reason)s"),
- {'migration_id': migration['id'], 'reason': reason},
- **kwargs)
- self.conductor_api.migration_update(context, migration,
- 'error')
-
- for migration in migrations:
- instance_uuid = migration['instance_uuid']
- LOG.info(_("Automatically confirming migration "
- "%(migration_id)s for instance %(instance_uuid)s"),
- {'migration_id': migration['id'],
- 'instance_uuid': instance_uuid})
- try:
- instance = self.conductor_api.instance_get_by_uuid(
- context, instance_uuid)
- except exception.InstanceNotFound:
- reason = (_("Instance %s not found") %
- instance_uuid)
- _set_migration_to_error(migration, reason)
- continue
- if instance['vm_state'] == vm_states.ERROR:
- reason = _("In ERROR state")
- _set_migration_to_error(migration, reason,
- instance=instance)
- continue
- vm_state = instance['vm_state']
- task_state = instance['task_state']
- if vm_state != vm_states.RESIZED or task_state is not None:
- reason = (_("In states %(vm_state)s/%(task_state)s, not "
- "RESIZED/None") %
- {'vm_state': vm_state,
- 'task_state': task_state})
- _set_migration_to_error(migration, reason,
- instance=instance)
- continue
- try:
- self.conductor_api.compute_confirm_resize(
- context, instance, migration_ref=migration)
- except Exception as e:
- LOG.error(_("Error auto-confirming resize: %s. "
- "Will retry later.") % e, instance=instance)
+ if CONF.resize_confirm_window == 0:
+ return
+
+ capi = self.conductor_api
+ migrations = capi.migration_get_unconfirmed_by_dest_compute(
+ context, CONF.resize_confirm_window, self.host)
+
+ migrations_info = dict(migration_count=len(migrations),
+ confirm_window=CONF.resize_confirm_window)
+
+ if migrations_info["migration_count"] > 0:
+ LOG.info(_("Found %(migration_count)d unconfirmed migrations "
+ "older than %(confirm_window)d seconds"),
+ migrations_info)
+
+ def _set_migration_to_error(migration, reason, **kwargs):
+ LOG.warn(_("Setting migration %(migration_id)s to error: "
+ "%(reason)s"),
+ {'migration_id': migration['id'], 'reason': reason},
+ **kwargs)
+ self.conductor_api.migration_update(context, migration,
+ 'error')
+
+ for migration in migrations:
+ instance_uuid = migration['instance_uuid']
+ LOG.info(_("Automatically confirming migration "
+ "%(migration_id)s for instance %(instance_uuid)s"),
+ {'migration_id': migration['id'],
+ 'instance_uuid': instance_uuid})
+ try:
+ instance = instance_obj.Instance.get_by_uuid(context,
+ instance_uuid)
+ except exception.InstanceNotFound:
+ reason = (_("Instance %s not found") %
+ instance_uuid)
+ _set_migration_to_error(migration, reason)
+ continue
+ if instance['vm_state'] == vm_states.ERROR:
+ reason = _("In ERROR state")
+ _set_migration_to_error(migration, reason,
+ instance=instance)
+ continue
+ vm_state = instance['vm_state']
+ task_state = instance['task_state']
+ if vm_state != vm_states.RESIZED or task_state is not None:
+ reason = (_("In states %(vm_state)s/%(task_state)s, not "
+ "RESIZED/None") %
+ {'vm_state': vm_state,
+ 'task_state': task_state})
+ _set_migration_to_error(migration, reason,
+ instance=instance)
+ continue
+ try:
+ self.conductor_api.compute_confirm_resize(
+ context, instance, migration_ref=migration)
+ except Exception as e:
+ LOG.error(_("Error auto-confirming resize: %s. "
+ "Will retry later.") % e, instance=instance)
@periodic_task.periodic_task
def _instance_usage_audit(self, context):
diff --git a/nova/compute/rpcapi.py b/nova/compute/rpcapi.py
index 98e90cf24..30db6010f 100644
--- a/nova/compute/rpcapi.py
+++ b/nova/compute/rpcapi.py
@@ -36,6 +36,11 @@ rpcapi_opts = [
CONF = cfg.CONF
CONF.register_opts(rpcapi_opts)
+rpcapi_cap_opt = cfg.StrOpt('compute',
+ default=None,
+ help='Set a version cap for messages sent to compute services')
+CONF.register_opt(rpcapi_cap_opt, 'upgrade_levels')
+
def _compute_topic(topic, ctxt, host, instance):
'''Get the topic to use for a message.
@@ -167,6 +172,11 @@ class ComputeAPI(nova.openstack.common.rpc.proxy.RpcProxy):
vnc on the correct port
2.27 - Adds 'reservations' to terminate_instance() and
soft_delete_instance()
+
+ ... Grizzly supports message version 2.27. So, any changes to existing
+ methods in 2.x after that point should be done such that they can
+ handle the version_cap being set to 2.27.
+
2.28 - Adds check_instance_shared_storage()
2.29 - Made start_instance() and stop_instance() take new-world
instance objects
@@ -182,11 +192,18 @@ class ComputeAPI(nova.openstack.common.rpc.proxy.RpcProxy):
#
BASE_RPC_API_VERSION = '2.0'
+ VERSION_ALIASES = {
+ 'grizzly': '2.27',
+ }
+
def __init__(self):
+ version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.compute,
+ CONF.upgrade_levels.compute)
super(ComputeAPI, self).__init__(
topic=CONF.compute_topic,
default_version=self.BASE_RPC_API_VERSION,
- serializer=objects_base.NovaObjectSerializer())
+ serializer=objects_base.NovaObjectSerializer(),
+ version_cap=version_cap)
def add_aggregate_host(self, ctxt, aggregate, host_param, host,
slave_info=None):
diff --git a/nova/compute/utils.py b/nova/compute/utils.py
index 9637d8773..3db4a14f2 100644
--- a/nova/compute/utils.py
+++ b/nova/compute/utils.py
@@ -203,8 +203,7 @@ def notify_usage_exists(context, instance_ref, current_period=False,
ignore_missing_network_data)
if system_metadata is None:
- system_metadata = utils.metadata_to_dict(
- instance_ref['system_metadata'])
+ system_metadata = utils.instance_sys_meta(instance_ref)
# add image metadata to the notification:
image_meta = notifications.image_meta(system_metadata)
diff --git a/nova/conductor/api.py b/nova/conductor/api.py
index 150c9a41d..3f955d24f 100644
--- a/nova/conductor/api.py
+++ b/nova/conductor/api.py
@@ -395,7 +395,7 @@ class API(LocalAPI):
self.base_rpcapi.ping(context, '1.21 GigaWatts',
timeout=timeout)
break
- except rpc_common.Timeout as e:
+ except rpc_common.Timeout:
LOG.warning(_('Timed out waiting for nova-conductor. '
'Is it running? Or did this service start '
'before nova-conductor?'))
diff --git a/nova/conductor/manager.py b/nova/conductor/manager.py
index 6693e7fee..40e7fa69b 100644
--- a/nova/conductor/manager.py
+++ b/nova/conductor/manager.py
@@ -18,6 +18,7 @@ import copy
from nova.api.ec2 import ec2utils
from nova import block_device
+from nova.cells import rpcapi as cells_rpcapi
from nova.compute import api as compute_api
from nova.compute import utils as compute_utils
from nova import exception
@@ -26,7 +27,6 @@ from nova import network
from nova.network.security_group import openstack_driver
from nova import notifications
from nova.objects import base as nova_object
-from nova.openstack.common.db.sqlalchemy import session as db_session
from nova.openstack.common import jsonutils
from nova.openstack.common import log as logging
from nova.openstack.common.notifier import api as notifier
@@ -67,7 +67,7 @@ class ConductorManager(manager.Manager):
namespace. See the ComputeTaskManager class for details.
"""
- RPC_API_VERSION = '1.51'
+ RPC_API_VERSION = '1.52'
def __init__(self, *args, **kwargs):
super(ConductorManager, self).__init__(service_name='conductor',
@@ -78,6 +78,7 @@ class ConductorManager(manager.Manager):
self._compute_api = None
self.compute_task_mgr = ComputeTaskManager()
self.quotas = quota.QUOTAS
+ self.cells_rpcapi = cells_rpcapi.CellsAPI()
def create_rpc_dispatcher(self, *args, **kwargs):
kwargs['additional_apis'] = [self.compute_task_mgr]
@@ -259,11 +260,18 @@ class ConductorManager(manager.Manager):
def block_device_mapping_update_or_create(self, context, values,
create=None):
if create is None:
- self.db.block_device_mapping_update_or_create(context, values)
+ bdm = self.db.block_device_mapping_update_or_create(context,
+ values)
elif create is True:
- self.db.block_device_mapping_create(context, values)
+ bdm = self.db.block_device_mapping_create(context, values)
else:
- self.db.block_device_mapping_update(context, values['id'], values)
+ bdm = self.db.block_device_mapping_update(context,
+ values['id'],
+ values)
+ # NOTE:comstud): 'bdm' is always in the new format, so we
+ # account for this in cells/messaging.py
+ self.cells_rpcapi.bdm_update_or_create_at_top(context, bdm,
+ create=create)
def block_device_mapping_get_all_by_instance(self, context, instance,
legacy=True):
@@ -279,12 +287,36 @@ class ConductorManager(manager.Manager):
if bdms is not None:
for bdm in bdms:
self.db.block_device_mapping_destroy(context, bdm['id'])
+ # NOTE(comstud): bdm['id'] will be different in API cell,
+ # so we must try to destroy by device_name or volume_id.
+ # We need an instance_uuid in order to do this properly,
+ # too.
+ # I hope to clean a lot of this up in the object
+ # implementation.
+ instance_uuid = (bdm['instance_uuid'] or
+ (instance and instance['uuid']))
+ if not instance_uuid:
+ continue
+ # Better to be safe than sorry. device_name is not
+ # NULLable, however it could be an empty string.
+ if bdm['device_name']:
+ self.cells_rpcapi.bdm_destroy_at_top(
+ context, instance_uuid,
+ device_name=bdm['device_name'])
+ elif bdm['volume_id']:
+ self.cells_rpcapi.bdm_destroy_at_top(
+ context, instance_uuid,
+ volume_id=bdm['volume_id'])
elif instance is not None and volume_id is not None:
self.db.block_device_mapping_destroy_by_instance_and_volume(
context, instance['uuid'], volume_id)
+ self.cells_rpcapi.bdm_destroy_at_top(
+ context, instance['uuid'], volume_id=volume_id)
elif instance is not None and device_name is not None:
self.db.block_device_mapping_destroy_by_instance_and_device(
context, instance['uuid'], device_name)
+ self.cells_rpcapi.bdm_destroy_at_top(
+ context, instance['uuid'], device_name=device_name)
else:
# NOTE(danms): This shouldn't happen
raise exception.Invalid(_("Invalid block_device_mapping_destroy"
@@ -343,9 +375,6 @@ class ConductorManager(manager.Manager):
def vol_usage_update(self, context, vol_id, rd_req, rd_bytes, wr_req,
wr_bytes, instance, last_refreshed=None,
update_totals=False):
- # The session object is needed here, as the vol_usage object returned
- # needs to bound to it in order to refresh its data
- session = db_session.get_session()
vol_usage = self.db.vol_usage_update(context, vol_id,
rd_req, rd_bytes,
wr_req, wr_bytes,
@@ -353,8 +382,7 @@ class ConductorManager(manager.Manager):
instance['project_id'],
instance['user_id'],
instance['availability_zone'],
- update_totals,
- session)
+ update_totals)
# We have just updated the database, so send the notification now
notifier.notify(context, 'conductor.%s' % self.host, 'volume.usage',
@@ -480,6 +508,9 @@ class ConductorManager(manager.Manager):
self.compute_api.stop(context, instance, do_cast)
def compute_confirm_resize(self, context, instance, migration_ref):
+ if isinstance(instance, nova_object.NovaObject):
+ # NOTE(danms): Remove this at RPC API v2.0
+ instance = dict(instance.items())
self.compute_api.confirm_resize(context, instance, migration_ref)
def compute_unrescue(self, context, instance):
@@ -546,7 +577,8 @@ class ComputeTaskManager(object):
def build_instances(self, context, instances, image, filter_properties,
admin_password, injected_files, requested_networks,
security_groups, block_device_mapping):
- request_spec = scheduler_utils.build_request_spec(image, instances)
+ request_spec = scheduler_utils.build_request_spec(context, image,
+ instances)
# NOTE(alaski): For compatibility until a new scheduler method is used.
request_spec.update({'block_device_mapping': block_device_mapping,
'security_group': security_groups})
diff --git a/nova/conductor/rpcapi.py b/nova/conductor/rpcapi.py
index c9b1c0af7..fcbb87f0e 100644
--- a/nova/conductor/rpcapi.py
+++ b/nova/conductor/rpcapi.py
@@ -22,6 +22,11 @@ import nova.openstack.common.rpc.proxy
CONF = cfg.CONF
+rpcapi_cap_opt = cfg.StrOpt('conductor',
+ default=None,
+ help='Set a version cap for messages sent to conductor services')
+CONF.register_opt(rpcapi_cap_opt, 'upgrade_levels')
+
class ConductorAPI(nova.openstack.common.rpc.proxy.RpcProxy):
"""Client side of the conductor RPC API
@@ -88,19 +93,32 @@ class ConductorAPI(nova.openstack.common.rpc.proxy.RpcProxy):
1.47 - Added columns_to_join to instance_get_all_by_host and
instance_get_all_by_filters
1.48 - Added compute_unrescue
+
+ ... Grizzly supports message version 1.48. So, any changes to existing
+ methods in 2.x after that point should be done such that they can
+ handle the version_cap being set to 1.48.
+
1.49 - Added columns_to_join to instance_get_by_uuid
1.50 - Added object_action() and object_class_action()
1.51 - Added the 'legacy' argument to
block_device_mapping_get_all_by_instance
+ 1.52 - Pass instance objects for compute_confirm_resize
"""
BASE_RPC_API_VERSION = '1.0'
+ VERSION_ALIASES = {
+ 'grizzly': '1.48',
+ }
+
def __init__(self):
+ version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.conductor,
+ CONF.upgrade_levels.conductor)
super(ConductorAPI, self).__init__(
topic=CONF.conductor.topic,
default_version=self.BASE_RPC_API_VERSION,
- serializer=objects_base.NovaObjectSerializer())
+ serializer=objects_base.NovaObjectSerializer(),
+ version_cap=version_cap)
def instance_update(self, context, instance_uuid, updates,
service=None):
@@ -119,10 +137,16 @@ class ConductorAPI(nova.openstack.common.rpc.proxy.RpcProxy):
def instance_get_by_uuid(self, context, instance_uuid,
columns_to_join=None):
- msg = self.make_msg('instance_get_by_uuid',
- instance_uuid=instance_uuid,
- columns_to_join=columns_to_join)
- return self.call(context, msg, version='1.49')
+ if self.can_send_version('1.49'):
+ version = '1.49'
+ msg = self.make_msg('instance_get_by_uuid',
+ instance_uuid=instance_uuid,
+ columns_to_join=columns_to_join)
+ else:
+ version = '1.2'
+ msg = self.make_msg('instance_get_by_uuid',
+ instance_uuid=instance_uuid)
+ return self.call(context, msg, version=version)
def migration_get(self, context, migration_id):
msg = self.make_msg('migration_get', migration_id=migration_id)
@@ -436,11 +460,10 @@ class ConductorAPI(nova.openstack.common.rpc.proxy.RpcProxy):
return self.call(context, msg, version='1.43')
def compute_confirm_resize(self, context, instance, migration_ref):
- instance_p = jsonutils.to_primitive(instance)
migration_p = jsonutils.to_primitive(migration_ref)
- msg = self.make_msg('compute_confirm_resize', instance=instance_p,
+ msg = self.make_msg('compute_confirm_resize', instance=instance,
migration_ref=migration_p)
- return self.call(context, msg, version='1.46')
+ return self.call(context, msg, version='1.52')
def compute_unrescue(self, context, instance):
instance_p = jsonutils.to_primitive(instance)
diff --git a/nova/openstack/common/plugin/__init__.py b/nova/conductor/tasks/__init__.py
index b706747cf..94e731d20 100644
--- a/nova/openstack/common/plugin/__init__.py
+++ b/nova/conductor/tasks/__init__.py
@@ -1,6 +1,3 @@
-# Copyright 2012 OpenStack Foundation.
-# All Rights Reserved.
-#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
diff --git a/nova/conductor/tasks/live_migrate.py b/nova/conductor/tasks/live_migrate.py
new file mode 100644
index 000000000..3c7f2ac16
--- /dev/null
+++ b/nova/conductor/tasks/live_migrate.py
@@ -0,0 +1,173 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from oslo.config import cfg
+
+from nova.compute import flavors
+from nova.compute import power_state
+from nova.compute import rpcapi as compute_rpcapi
+from nova import db
+from nova import exception
+from nova.image import glance
+from nova.openstack.common import log as logging
+from nova import servicegroup
+
+LOG = logging.getLogger(__name__)
+
+CONF = cfg.CONF
+CONF.import_opt('scheduler_max_attempts', 'nova.scheduler.driver')
+
+
+class LiveMigrationTask(object):
+ def __init__(self, context, instance, destination,
+ block_migration, disk_over_commit,
+ select_hosts_callback):
+ self.context = context
+ self.instance = instance
+ self.destination = destination
+ self.block_migration = block_migration
+ self.disk_over_commit = disk_over_commit
+ self.select_hosts_callback = select_hosts_callback
+ self.source = instance['host']
+ self.migrate_data = None
+ self.compute_rpcapi = compute_rpcapi.ComputeAPI()
+ self.servicegroup_api = servicegroup.API()
+ self.image_service = glance.get_default_image_service()
+
+ def execute(self):
+ self._check_instance_is_running()
+ self._check_host_is_up(self.source)
+
+ if not self.destination:
+ self.destination = self._find_destination()
+ else:
+ self._check_requested_destination()
+
+ #TODO(johngarbutt) need to move complexity out of compute manager
+ return self.compute_rpcapi.live_migration(self.context,
+ host=self.source,
+ instance=self.instance,
+ dest=self.destination,
+ block_migration=self.block_migration,
+ migrate_data=self.migrate_data)
+ #TODO(johngarbutt) disk_over_commit?
+
+ def rollback(self):
+ #TODO(johngarbutt) need to implement the clean up operation
+ raise NotImplementedError()
+
+ def _check_instance_is_running(self):
+ if self.instance['power_state'] != power_state.RUNNING:
+ raise exception.InstanceNotRunning(
+ instance_id=self.instance['uuid'])
+
+ def _check_host_is_up(self, host):
+ try:
+ service = db.service_get_by_compute_host(self.context, host)
+ except exception.NotFound:
+ raise exception.ComputeServiceUnavailable(host=host)
+
+ if not self.servicegroup_api.service_is_up(service):
+ raise exception.ComputeServiceUnavailable(host=host)
+
+ def _check_requested_destination(self):
+ self._check_destination_is_not_source()
+ self._check_host_is_up(self.destination)
+ self._check_destination_has_enough_memory()
+ self._check_compatible_with_source_hypervisor(self.destination)
+ self._call_livem_checks_on_host(self.destination)
+
+ def _check_destination_is_not_source(self):
+ if self.destination == self.source:
+ raise exception.UnableToMigrateToSelf(
+ instance_id=self.instance['uuid'], host=self.destination)
+
+ def _check_destination_has_enough_memory(self):
+ avail = self._get_compute_info(self.destination)['free_ram_mb']
+ mem_inst = self.instance['memory_mb']
+
+ if not mem_inst or avail <= mem_inst:
+ instance_uuid = self.instance['uuid']
+ dest = self.destination
+ reason = _("Unable to migrate %(instance_uuid)s to %(dest)s: "
+ "Lack of memory(host:%(avail)s <= "
+ "instance:%(mem_inst)s)")
+ raise exception.MigrationPreCheckError(reason=reason % dict(
+ instance_uuid=instance_uuid, dest=dest, avail=avail,
+ mem_inst=mem_inst))
+
+ def _get_compute_info(self, host):
+ service_ref = db.service_get_by_compute_host(self.context, host)
+ return service_ref['compute_node'][0]
+
+ def _check_compatible_with_source_hypervisor(self, destination):
+ source_info = self._get_compute_info(self.source)
+ destination_info = self._get_compute_info(destination)
+
+ source_type = source_info['hypervisor_type']
+ destination_type = destination_info['hypervisor_type']
+ if source_type != destination_type:
+ raise exception.InvalidHypervisorType()
+
+ source_version = source_info['hypervisor_version']
+ destination_version = destination_info['hypervisor_version']
+ if source_version > destination_version:
+ raise exception.DestinationHypervisorTooOld()
+
+ def _call_livem_checks_on_host(self, destination):
+ self.migrate_data = self.compute_rpcapi.\
+ check_can_live_migrate_destination(self.context, self.instance,
+ destination, self.block_migration, self.disk_over_commit)
+
+ def _find_destination(self):
+ #TODO(johngarbutt) this retry loop should be shared
+ ignore_hosts = [self.source]
+ image = self.image_service.show(self.context,
+ self.instance['image_ref'])
+ instance_type = flavors.extract_flavor(self.instance)
+
+ host = None
+ while host is None:
+ self._check_not_over_max_attempts(ignore_hosts)
+
+ host = self._get_candidate_destination(image,
+ instance_type, ignore_hosts)
+ try:
+ self._check_compatible_with_source_hypervisor(host)
+ self._call_livem_checks_on_host(host)
+ except exception.Invalid as e:
+ LOG.debug(_("Skipping host: %(host)s because: %(e)s") %
+ {"host": host, "e": e})
+ ignore_hosts.append(host)
+ host = None
+ return host
+
+ def _get_candidate_destination(self, image, instance_type, ignore_hosts):
+ request_spec = {'instance_properties': self.instance,
+ 'instance_type': instance_type,
+ 'instance_uuids': [self.instance['uuid']],
+ 'image': image}
+ filter_properties = {'ignore_hosts': ignore_hosts}
+ #TODO(johngarbutt) this should be an rpc call to scheduler
+ return self.select_hosts_callback(self.context, request_spec,
+ filter_properties)[0]
+
+ def _check_not_over_max_attempts(self, ignore_hosts):
+ attempts = len(ignore_hosts)
+ if attempts > CONF.scheduler_max_attempts:
+ msg = (_('Exceeded max scheduling attempts %(max_attempts)d for '
+ 'instance %(instance_uuid)s during live migration')
+ % {'max_attempts': attempts,
+ 'instance_uuid': self.instance['uuid']})
+ raise exception.NoValidHost(reason=msg)
diff --git a/nova/console/rpcapi.py b/nova/console/rpcapi.py
index 86debae32..7a78b52c2 100644
--- a/nova/console/rpcapi.py
+++ b/nova/console/rpcapi.py
@@ -31,6 +31,11 @@ rpcapi_opts = [
CONF = cfg.CONF
CONF.register_opts(rpcapi_opts)
+rpcapi_cap_opt = cfg.StrOpt('console',
+ default=None,
+ help='Set a version cap for messages sent to console services')
+CONF.register_opt(rpcapi_cap_opt, 'upgrade_levels')
+
class ConsoleAPI(nova.openstack.common.rpc.proxy.RpcProxy):
'''Client side of the console rpc API.
@@ -39,6 +44,10 @@ class ConsoleAPI(nova.openstack.common.rpc.proxy.RpcProxy):
1.0 - Initial version.
1.1 - Added get_backdoor_port()
+
+ ... Grizzly supports message version 1.1. So, any changes to existing
+ methods in 2.x after that point should be done such that they can
+ handle the version_cap being set to 1.1.
'''
#
@@ -51,11 +60,18 @@ class ConsoleAPI(nova.openstack.common.rpc.proxy.RpcProxy):
#
BASE_RPC_API_VERSION = '1.0'
+ VERSION_ALIASES = {
+ 'grizzly': '1.1',
+ }
+
def __init__(self, topic=None):
topic = topic if topic else CONF.console_topic
+ version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.console,
+ CONF.upgrade_levels.console)
super(ConsoleAPI, self).__init__(
topic=topic,
- default_version=self.BASE_RPC_API_VERSION)
+ default_version=self.BASE_RPC_API_VERSION,
+ version_cap=version_cap)
def add_console(self, ctxt, instance_id):
self.cast(ctxt, self.make_msg('add_console', instance_id=instance_id))
diff --git a/nova/consoleauth/rpcapi.py b/nova/consoleauth/rpcapi.py
index 62aeab8da..ffc1a3de4 100644
--- a/nova/consoleauth/rpcapi.py
+++ b/nova/consoleauth/rpcapi.py
@@ -24,6 +24,11 @@ import nova.openstack.common.rpc.proxy
CONF = cfg.CONF
+rpcapi_cap_opt = cfg.StrOpt('consoleauth',
+ default=None,
+ help='Set a version cap for messages sent to consoleauth services')
+CONF.register_opt(rpcapi_cap_opt, 'upgrade_levels')
+
class ConsoleAuthAPI(nova.openstack.common.rpc.proxy.RpcProxy):
'''Client side of the consoleauth rpc API.
@@ -34,6 +39,10 @@ class ConsoleAuthAPI(nova.openstack.common.rpc.proxy.RpcProxy):
1.1 - Added get_backdoor_port()
1.2 - Added instance_uuid to authorize_console, and
delete_tokens_for_instance
+
+ ... Grizzly supports message version 1.2. So, any changes to existing
+ methods in 2.x after that point should be done such that they can
+ handle the version_cap being set to 1.2.
'''
#
@@ -46,10 +55,17 @@ class ConsoleAuthAPI(nova.openstack.common.rpc.proxy.RpcProxy):
#
BASE_RPC_API_VERSION = '1.0'
+ VERSION_ALIASES = {
+ 'grizzly': '1.2',
+ }
+
def __init__(self):
+ version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.consoleauth,
+ CONF.upgrade_levels.consoleauth)
super(ConsoleAuthAPI, self).__init__(
topic=CONF.consoleauth_topic,
- default_version=self.BASE_RPC_API_VERSION)
+ default_version=self.BASE_RPC_API_VERSION,
+ version_cap=version_cap)
def authorize_console(self, ctxt, token, console_type, host, port,
internal_access_path, instance_uuid=None):
diff --git a/nova/db/api.py b/nova/db/api.py
index ceab5fcd8..bd519110c 100644
--- a/nova/db/api.py
+++ b/nova/db/api.py
@@ -1151,9 +1151,10 @@ def security_group_get_all(context):
return IMPL.security_group_get_all(context)
-def security_group_get(context, security_group_id):
+def security_group_get(context, security_group_id, columns_to_join=None):
"""Get security group by its id."""
- return IMPL.security_group_get(context, security_group_id)
+ return IMPL.security_group_get(context, security_group_id,
+ columns_to_join)
def security_group_get_by_name(context, project_id, group_name):
@@ -1561,7 +1562,7 @@ def vol_get_usage_by_time(context, begin):
def vol_usage_update(context, id, rd_req, rd_bytes, wr_req, wr_bytes,
instance_id, project_id, user_id, availability_zone,
- update_totals=False, session=None):
+ update_totals=False):
"""Update cached volume usage for a volume
Creates new record if needed.
@@ -1569,8 +1570,7 @@ def vol_usage_update(context, id, rd_req, rd_bytes, wr_req, wr_bytes,
return IMPL.vol_usage_update(context, id, rd_req, rd_bytes, wr_req,
wr_bytes, instance_id, project_id, user_id,
availability_zone,
- update_totals=update_totals,
- session=session)
+ update_totals=update_totals)
###################
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index 664425441..3b491ca6e 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -555,8 +555,7 @@ def compute_node_update(context, compute_id, values, prune_stats=False):
# Always update this, even if there's going to be no other
# changes in data. This ensures that we invalidate the
# scheduler cache of compute node data in case of races.
- if 'updated_at' not in values:
- values['updated_at'] = timeutils.utcnow()
+ values['updated_at'] = timeutils.utcnow()
convert_datetimes(values, 'created_at', 'deleted_at', 'updated_at')
compute_ref.update(values)
return compute_ref
@@ -603,18 +602,6 @@ def compute_node_statistics(context):
@require_admin_context
-def certificate_get(context, certificate_id):
- result = model_query(context, models.Certificate).\
- filter_by(id=certificate_id).\
- first()
-
- if not result:
- raise exception.CertificateNotFound(certificate_id=certificate_id)
-
- return result
-
-
-@require_admin_context
def certificate_create(context, values):
certificate_ref = models.Certificate()
for (key, value) in values.iteritems():
@@ -1689,7 +1676,7 @@ def instance_get_all_by_filters(context, filters, sort_key, sort_dir,
'changes-since' - only return instances updated after
'deleted' - only return (or exclude) deleted instances
- 'soft-deleted' - modify behavior of 'deleted' to either
+ 'soft_deleted' - modify behavior of 'deleted' to either
include or exclude instances whose
vm_state is SOFT_DELETED.
"""
@@ -2800,6 +2787,7 @@ def _get_quota_usages(context, session, project_id):
@require_context
+@_retry_on_deadlock
def quota_reserve(context, resources, quotas, deltas, expire,
until_refresh, max_age, project_id=None):
elevated = context.elevated()
@@ -3135,15 +3123,16 @@ def block_device_mapping_create(context, values, legacy=True):
bdm_ref = models.BlockDeviceMapping()
bdm_ref.update(values)
bdm_ref.save()
+ return bdm_ref
@require_context
def block_device_mapping_update(context, bdm_id, values, legacy=True):
_scrub_empty_str_values(values, ['volume_size'])
values = _from_legacy_values(values, legacy, allow_updates=True)
- _block_device_mapping_get_query(context).\
- filter_by(id=bdm_id).\
- update(values)
+ query = _block_device_mapping_get_query(context).filter_by(id=bdm_id)
+ query.update(values)
+ return query.first()
def block_device_mapping_update_or_create(context, values, legacy=True):
@@ -3159,6 +3148,7 @@ def block_device_mapping_update_or_create(context, values, legacy=True):
bdm_ref = models.BlockDeviceMapping()
bdm_ref.update(values)
bdm_ref.save(session=session)
+ result = bdm_ref
else:
values = _from_legacy_values(values, legacy, allow_updates=True)
result.update(values)
@@ -3181,6 +3171,7 @@ def block_device_mapping_update_or_create(context, values, legacy=True):
models.BlockDeviceMapping.guest_format == None,
models.BlockDeviceMapping.guest_format != 'swap')).
soft_delete())
+ return result
@require_context
@@ -3253,13 +3244,17 @@ def security_group_get_all(context):
@require_context
-def security_group_get(context, security_group_id, session=None):
- result = _security_group_get_query(context, session=session,
- project_only=True).\
- filter_by(id=security_group_id).\
- options(joinedload_all('instances')).\
- first()
+def security_group_get(context, security_group_id, columns_to_join=None,
+ session=None):
+ query = _security_group_get_query(context, session=session,
+ project_only=True).\
+ filter_by(id=security_group_id)
+ if columns_to_join is None:
+ columns_to_join = []
+ if 'instances' in columns_to_join:
+ query = query.options(joinedload_all('instances'))
+ result = query.first()
if not result:
raise exception.SecurityGroupNotFound(
security_group_id=security_group_id)
@@ -3424,10 +3419,10 @@ def _security_group_rule_get_query(context, session=None):
@require_context
-def security_group_rule_get(context, security_group_rule_id, session=None):
- result = _security_group_rule_get_query(context, session=session).\
- filter_by(id=security_group_rule_id).\
- first()
+def security_group_rule_get(context, security_group_rule_id):
+ result = (_security_group_rule_get_query(context).
+ filter_by(id=security_group_rule_id).
+ first())
if not result:
raise exception.SecurityGroupNotFoundForRule(
@@ -3437,23 +3432,21 @@ def security_group_rule_get(context, security_group_rule_id, session=None):
@require_context
-def security_group_rule_get_by_security_group(context, security_group_id,
- session=None):
- return _security_group_rule_get_query(context, session=session).\
- filter_by(parent_group_id=security_group_id).\
+def security_group_rule_get_by_security_group(context, security_group_id):
+ return (_security_group_rule_get_query(context).
+ filter_by(parent_group_id=security_group_id).
options(joinedload_all('grantee_group.instances.'
- 'system_metadata')).\
- all()
+ 'system_metadata')).
+ all())
@require_context
def security_group_rule_get_by_security_group_grantee(context,
- security_group_id,
- session=None):
+ security_group_id):
- return _security_group_rule_get_query(context, session=session).\
- filter_by(group_id=security_group_id).\
- all()
+ return (_security_group_rule_get_query(context).
+ filter_by(group_id=security_group_id).
+ all())
@require_context
@@ -3466,22 +3459,20 @@ def security_group_rule_create(context, values):
@require_context
def security_group_rule_destroy(context, security_group_rule_id):
- session = get_session()
- with session.begin():
- count = _security_group_rule_get_query(context, session=session).\
- filter_by(id=security_group_rule_id).\
- soft_delete()
- if count == 0:
- raise exception.SecurityGroupNotFoundForRule(
- rule_id=security_group_rule_id)
+ count = (_security_group_rule_get_query(context).
+ filter_by(id=security_group_rule_id).
+ soft_delete())
+ if count == 0:
+ raise exception.SecurityGroupNotFoundForRule(
+ rule_id=security_group_rule_id)
@require_context
def security_group_rule_count_by_group(context, security_group_id):
- return model_query(context, models.SecurityGroupIngressRule,
- read_deleted="no").\
- filter_by(parent_group_id=security_group_id).\
- count()
+ return (model_query(context, models.SecurityGroupIngressRule,
+ read_deleted="no").
+ filter_by(parent_group_id=security_group_id).
+ count())
#
###################
@@ -4048,7 +4039,10 @@ def instance_type_extra_specs_update_or_create(context, flavor_id, specs):
def cell_create(context, values):
cell = models.Cell()
cell.update(values)
- cell.save()
+ try:
+ cell.save()
+ except db_exc.DBDuplicateEntry:
+ raise exception.CellExists(name=values['name'])
return cell
@@ -4409,9 +4403,8 @@ def vol_get_usage_by_time(context, begin):
@require_context
def vol_usage_update(context, id, rd_req, rd_bytes, wr_req, wr_bytes,
instance_id, project_id, user_id, availability_zone,
- update_totals=False, session=None):
- if not session:
- session = get_session()
+ update_totals=False):
+ session = get_session()
refreshed = timeutils.utcnow()
@@ -4484,6 +4477,8 @@ def vol_usage_update(context, id, rd_req, rd_bytes, wr_req, wr_bytes,
current_usage['curr_write_bytes'] + wr_bytes)
current_usage.update(values)
+ current_usage.save(session=session)
+ session.refresh(current_usage)
return current_usage
vol_usage = models.VolumeUsage()
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/186_new_bdm_format.py b/nova/db/sqlalchemy/migrate_repo/versions/186_new_bdm_format.py
index 88462a2c8..e8b9a1570 100644
--- a/nova/db/sqlalchemy/migrate_repo/versions/186_new_bdm_format.py
+++ b/nova/db/sqlalchemy/migrate_repo/versions/186_new_bdm_format.py
@@ -111,9 +111,6 @@ def _upgrade_bdm_v2(meta, bdm_table, bdm_shadow_table):
_bdm_rows_v1 = ('id', 'device_name', 'virtual_name',
'snapshot_id', 'volume_id', 'instance_uuid')
- _bdm_rows_v2 = ('id', 'source_type', 'destination_type', 'guest_format',
- 'device_type', 'disk_bus', 'boot_index', 'image_id')
-
_instance_cols = ('uuid', 'image_ref', 'root_device_name')
def _get_columns(table, names):
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/189_add_cells_uc.py b/nova/db/sqlalchemy/migrate_repo/versions/189_add_cells_uc.py
new file mode 100644
index 000000000..d0606e9f9
--- /dev/null
+++ b/nova/db/sqlalchemy/migrate_repo/versions/189_add_cells_uc.py
@@ -0,0 +1,40 @@
+# Copyright 2013 Mirantis Inc.
+# All Rights Reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+from migrate.changeset import UniqueConstraint
+from sqlalchemy import MetaData, Table
+
+from nova.db.sqlalchemy import utils
+
+
+UC_NAME = 'uniq_cell_name0deleted'
+COLUMNS = ('name', 'deleted')
+TABLE_NAME = 'cells'
+
+
+def upgrade(migrate_engine):
+ meta = MetaData(bind=migrate_engine)
+ t = Table(TABLE_NAME, meta, autoload=True)
+
+ utils.drop_old_duplicate_entries_from_table(migrate_engine, TABLE_NAME,
+ True, *COLUMNS)
+ uc = UniqueConstraint(*COLUMNS, table=t, name=UC_NAME)
+ uc.create()
+
+
+def downgrade(migrate_engine):
+ utils.drop_unique_constraint(migrate_engine, TABLE_NAME, UC_NAME, *COLUMNS)
diff --git a/nova/db/sqlalchemy/models.py b/nova/db/sqlalchemy/models.py
index 815041638..5d9c4cbf3 100644
--- a/nova/db/sqlalchemy/models.py
+++ b/nova/db/sqlalchemy/models.py
@@ -367,11 +367,12 @@ class Quota(BASE, NovaBase):
"""
__tablename__ = 'quotas'
+ __table_args__ = ()
id = Column(Integer, primary_key=True)
- project_id = Column(String(255), index=True)
+ project_id = Column(String(255), nullable=True)
- resource = Column(String(255))
+ resource = Column(String(255), nullable=False)
hard_limit = Column(Integer, nullable=True)
@@ -384,11 +385,14 @@ class QuotaClass(BASE, NovaBase):
"""
__tablename__ = 'quota_classes'
+ __table_args__ = (
+ Index('ix_quota_classes_class_name', 'class_name'),
+ )
id = Column(Integer, primary_key=True)
- class_name = Column(String(255), index=True)
+ class_name = Column(String(255), nullable=True)
- resource = Column(String(255))
+ resource = Column(String(255), nullable=True)
hard_limit = Column(Integer, nullable=True)
@@ -396,13 +400,16 @@ class QuotaUsage(BASE, NovaBase):
"""Represents the current usage for a given resource."""
__tablename__ = 'quota_usages'
+ __table_args__ = (
+ Index('ix_quota_usages_project_id', 'project_id'),
+ )
id = Column(Integer, primary_key=True)
- project_id = Column(String(255), index=True)
- resource = Column(String(255))
+ project_id = Column(String(255), nullable=True)
+ resource = Column(String(255), nullable=True)
- in_use = Column(Integer)
- reserved = Column(Integer)
+ in_use = Column(Integer, nullable=False)
+ reserved = Column(Integer, nullable=False)
@property
def total(self):
@@ -436,8 +443,9 @@ class Reservation(BASE, NovaBase):
class Snapshot(BASE, NovaBase):
"""Represents a block storage device that can be attached to a VM."""
__tablename__ = 'snapshots'
- id = Column(String(36), primary_key=True)
- deleted = Column(String(36), default="")
+ __table_args__ = ()
+ id = Column(String(36), primary_key=True, nullable=False)
+ deleted = Column(String(36), default="", nullable=True)
@property
def name(self):
@@ -447,16 +455,17 @@ class Snapshot(BASE, NovaBase):
def volume_name(self):
return CONF.volume_name_template % self.volume_id
- user_id = Column(String(255))
- project_id = Column(String(255))
+ user_id = Column(String(255), nullable=True)
+ project_id = Column(String(255), nullable=True)
- volume_id = Column(String(36))
- status = Column(String(255))
- progress = Column(String(255))
- volume_size = Column(Integer)
+ volume_id = Column(String(36), nullable=False)
+ status = Column(String(255), nullable=True)
+ progress = Column(String(255), nullable=True)
+ volume_size = Column(Integer, nullable=True)
+ scheduled_at = Column(DateTime, nullable=True)
- display_name = Column(String(255))
- display_description = Column(String(255))
+ display_name = Column(String(255), nullable=True)
+ display_description = Column(String(255), nullable=True)
class BlockDeviceMapping(BASE, NovaBase):
@@ -686,13 +695,16 @@ class VirtualInterface(BASE, NovaBase):
__tablename__ = 'virtual_interfaces'
__table_args__ = (
schema.UniqueConstraint("address",
- name="unique_virtual_interfaces0address"),
+ name="uniq_virtual_interfaces0address"),
+ Index('network_id', 'network_id'),
+ Index('virtual_interfaces_instance_uuid_fkey', 'instance_uuid'),
)
- id = Column(Integer, primary_key=True)
- address = Column(String(255), unique=True)
- network_id = Column(Integer, nullable=False)
- instance_uuid = Column(String(36), nullable=False)
- uuid = Column(String(36))
+ id = Column(Integer, primary_key=True, nullable=False)
+ address = Column(String(255), unique=True, nullable=True)
+ network_id = Column(Integer, nullable=True)
+ instance_uuid = Column(String(36), ForeignKey('instances.uuid'),
+ nullable=True)
+ uuid = Column(String(36), nullable=True)
# TODO(vish): can these both come from the same baseclass?
@@ -753,11 +765,15 @@ class FloatingIp(BASE, NovaBase):
class DNSDomain(BASE, NovaBase):
"""Represents a DNS domain with availability zone or project info."""
__tablename__ = 'dns_domains'
+ __table_args__ = (
+ Index('project_id', 'project_id'),
+ Index('dns_domains_domain_deleted_idx', 'domain', 'deleted'),
+ )
deleted = Column(Boolean, default=False)
- domain = Column(String(512), primary_key=True)
- scope = Column(String(255))
- availability_zone = Column(String(255))
- project_id = Column(String(255))
+ domain = Column(String(255), primary_key=True)
+ scope = Column(String(255), nullable=True)
+ availability_zone = Column(String(255), nullable=True)
+ project_id = Column(String(255), nullable=True)
class ConsolePool(BASE, NovaBase):
@@ -859,6 +875,10 @@ class Cell(BASE, NovaBase):
of entries with is_parent=True or False
"""
__tablename__ = 'cells'
+ __table_args__ = (schema.UniqueConstraint(
+ "name", "deleted", name="uniq_cell_name0deleted"
+ ),
+ )
id = Column(Integer, primary_key=True)
# Name here is the 'short name' of a cell. For instance: 'child1'
name = Column(String(255))
@@ -888,6 +908,9 @@ class AggregateHost(BASE, NovaBase):
class AggregateMetadata(BASE, NovaBase):
"""Represents a metadata key/value pair for an aggregate."""
__tablename__ = 'aggregate_metadata'
+ __table_args__ = (
+ Index('aggregate_metadata_key_idx', 'key'),
+ )
id = Column(Integer, primary_key=True)
key = Column(String(255), nullable=False)
value = Column(String(255), nullable=False)
@@ -944,15 +967,19 @@ class AgentBuild(BASE, NovaBase):
class BandwidthUsage(BASE, NovaBase):
"""Cache for instance bandwidth usage data pulled from the hypervisor."""
__tablename__ = 'bw_usage_cache'
+ __table_args__ = (
+ Index('bw_usage_cache_uuid_start_period_idx', 'uuid',
+ 'start_period'),
+ )
id = Column(Integer, primary_key=True, nullable=False)
- uuid = Column(String(36), nullable=False)
- mac = Column(String(255), nullable=False)
+ uuid = Column(String(36), nullable=True)
+ mac = Column(String(255), nullable=True)
start_period = Column(DateTime, nullable=False)
- last_refreshed = Column(DateTime)
- bw_in = Column(BigInteger)
- bw_out = Column(BigInteger)
- last_ctr_in = Column(BigInteger)
- last_ctr_out = Column(BigInteger)
+ last_refreshed = Column(DateTime, nullable=True)
+ bw_in = Column(BigInteger, nullable=True)
+ bw_out = Column(BigInteger, nullable=True)
+ last_ctr_in = Column(BigInteger, nullable=True)
+ last_ctr_out = Column(BigInteger, nullable=True)
class VolumeUsage(BASE, NovaBase):
@@ -993,6 +1020,7 @@ class VolumeIdMapping(BASE, NovaBase):
class SnapshotIdMapping(BASE, NovaBase):
"""Compatibility layer for the EC2 snapshot service."""
__tablename__ = 'snapshot_id_mappings'
+ __table_args__ = ()
id = Column(Integer, primary_key=True, nullable=False, autoincrement=True)
uuid = Column(String(36), nullable=False)
@@ -1057,16 +1085,21 @@ class TaskLog(BASE, NovaBase):
'task_name', 'host', 'period_beginning', 'period_ending',
name="uniq_task_log0task_name0host0period_beginning0period_ending"
),
+ Index('ix_task_log_period_beginning', 'period_beginning'),
+ Index('ix_task_log_host', 'host'),
+ Index('ix_task_log_period_ending', 'period_ending'),
)
id = Column(Integer, primary_key=True, nullable=False, autoincrement=True)
task_name = Column(String(255), nullable=False)
state = Column(String(255), nullable=False)
- host = Column(String(255))
- period_beginning = Column(DateTime, default=timeutils.utcnow)
- period_ending = Column(DateTime, default=timeutils.utcnow)
+ host = Column(String(255), nullable=False)
+ period_beginning = Column(DateTime, default=timeutils.utcnow,
+ nullable=False)
+ period_ending = Column(DateTime, default=timeutils.utcnow,
+ nullable=False)
message = Column(String(255), nullable=False)
- task_items = Column(Integer(), default=0)
- errors = Column(Integer(), default=0)
+ task_items = Column(Integer(), default=0, nullable=True)
+ errors = Column(Integer(), default=0, nullable=True)
class InstanceGroupMember(BASE, NovaBase):
diff --git a/nova/db/sqlalchemy/utils.py b/nova/db/sqlalchemy/utils.py
index 67acad2b7..918f50bfd 100644
--- a/nova/db/sqlalchemy/utils.py
+++ b/nova/db/sqlalchemy/utils.py
@@ -17,7 +17,7 @@
import re
-from migrate.changeset import UniqueConstraint
+from migrate.changeset import UniqueConstraint, ForeignKeyConstraint
from sqlalchemy import Boolean
from sqlalchemy import CheckConstraint
from sqlalchemy import Column
@@ -73,7 +73,7 @@ def visit_insert_from_select(element, compiler, **kw):
def _get_not_supported_column(col_name_col_instance, column_name):
try:
column = col_name_col_instance[column_name]
- except Exception as e:
+ except Exception:
msg = _("Please specify column %s in col_name_col_instance "
"param. It is required because column has unsupported "
"type by sqlite).")
@@ -101,7 +101,8 @@ def _get_unique_constraints_in_sqlite(migrate_engine, table_name):
uniques = set([
schema.UniqueConstraint(
- *[getattr(table.c, c.strip()) for c in cols.split(",")], name=name
+ *[getattr(table.c, c.strip(' "'))
+ for c in cols.split(",")], name=name
)
for name, cols in re.findall(regexp, sql_data)
])
@@ -128,7 +129,8 @@ def _drop_unique_constraint_in_sqlite(migrate_engine, table_name, uc_name,
table.constraints.update(uniques)
constraints = [constraint for constraint in table.constraints
- if not constraint.name == uc_name]
+ if not constraint.name == uc_name and
+ not isinstance(constraint, schema.ForeignKeyConstraint)]
new_table = Table(table_name + "__tmp__", meta, *(columns + constraints))
new_table.create()
@@ -139,12 +141,20 @@ def _drop_unique_constraint_in_sqlite(migrate_engine, table_name, uc_name,
indexes.append(Index(index["name"],
*column_names,
unique=index["unique"]))
+ f_keys = []
+ for fk in insp.get_foreign_keys(table_name):
+ refcolumns = [fk['referred_table'] + '.' + col
+ for col in fk['referred_columns']]
+ f_keys.append(ForeignKeyConstraint(fk['constrained_columns'],
+ refcolumns, table=new_table, name=fk['name']))
ins = InsertFromSelect(new_table, table.select())
migrate_engine.execute(ins)
table.drop()
[index.create(migrate_engine) for index in indexes]
+ for fkey in f_keys:
+ fkey.create()
new_table.rename(table_name)
diff --git a/nova/exception.py b/nova/exception.py
index 68cf1f991..350fb2f77 100644
--- a/nova/exception.py
+++ b/nova/exception.py
@@ -25,6 +25,7 @@ SHOULD include dedicated exception logging.
"""
import functools
+import sys
from oslo.config import cfg
import webob.exc
@@ -127,7 +128,8 @@ class NovaException(Exception):
try:
message = self.message % kwargs
- except Exception as e:
+ except Exception:
+ exc_info = sys.exc_info()
# kwargs doesn't match a variable in the message
# log the issue and the kwargs
LOG.exception(_('Exception in string format operation'))
@@ -135,7 +137,7 @@ class NovaException(Exception):
LOG.error("%s: %s" % (name, value))
if CONF.fatal_exception_format_errors:
- raise e
+ raise exc_info[0], exc_info[1], exc_info[2]
else:
# at least get the core message out if something happened
message = self.message
@@ -666,17 +668,13 @@ class NoFloatingIpInterface(NotFound):
class CannotDisassociateAutoAssignedFloatingIP(NovaException):
- message = _("Cannot disassociate auto assigined floating ip")
+ message = _("Cannot disassociate auto assigned floating ip")
class KeypairNotFound(NotFound):
message = _("Keypair %(name)s not found for user %(user_id)s")
-class CertificateNotFound(NotFound):
- message = _("Certificate %(certificate_id)s not found.")
-
-
class ServiceNotFound(NotFound):
message = _("Service %(service_id)s could not be found.")
@@ -825,6 +823,10 @@ class CellNotFound(NotFound):
message = _("Cell %(cell_name)s doesn't exist.")
+class CellExists(Duplicate):
+ message = _("Cell with name %(name)s already exists.")
+
+
class CellRoutingInconsistency(NovaException):
message = _("Inconsistency in cell routing: %(reason)s")
@@ -922,7 +924,7 @@ class InstanceTypeIdExists(Duplicate):
class FlavorAccessExists(Duplicate):
- message = _("Flavor access alreay exists for flavor %(flavor_id)s "
+ message = _("Flavor access already exists for flavor %(flavor_id)s "
"and project %(project_id)s combination.")
@@ -1122,6 +1124,10 @@ class InstanceIsLocked(InstanceInvalidState):
message = _("Instance %(instance_uuid)s is locked")
+class ConfigDriveInvalidValue(Invalid):
+ message = _("Invalid value for Config Drive option: %(option)s")
+
+
class ConfigDriveMountFailed(NovaException):
message = _("Could not mount vfat config drive. %(operation)s failed. "
"Error: %(error)s")
@@ -1241,6 +1247,19 @@ class CoreAPIMissing(NovaException):
message = _("Core API extensions are missing: %(missing_apis)s")
+class AgentError(NovaException):
+ message = _('Error during following call to agent: %(method)s')
+
+
+class AgentTimeout(AgentError):
+ message = _('Unable to contact guest agent. '
+ 'The following call timed out: %(method)s')
+
+
+class AgentNotImplemented(AgentError):
+ message = _('Agent does not support the call: %(method)s')
+
+
class InstanceGroupNotFound(NotFound):
message = _("Instance group %(group_uuid)s could not be found.")
diff --git a/nova/image/s3.py b/nova/image/s3.py
index 42cb97170..a1ae55b4e 100644
--- a/nova/image/s3.py
+++ b/nova/image/s3.py
@@ -198,13 +198,11 @@ class S3ImageService(object):
def _s3_parse_manifest(self, context, metadata, manifest):
manifest = etree.fromstring(manifest)
image_format = 'ami'
- image_type = 'machine'
try:
kernel_id = manifest.find('machine_configuration/kernel_id').text
if kernel_id == 'true':
image_format = 'aki'
- image_type = 'kernel'
kernel_id = None
except Exception:
kernel_id = None
@@ -213,7 +211,6 @@ class S3ImageService(object):
ramdisk_id = manifest.find('machine_configuration/ramdisk_id').text
if ramdisk_id == 'true':
image_format = 'ari'
- image_type = 'ramdisk'
ramdisk_id = None
except Exception:
ramdisk_id = None
@@ -270,7 +267,7 @@ class S3ImageService(object):
#TODO(bcwaldon): right now, this removes user-defined ids.
# We need to re-enable this.
- image_id = metadata.pop('id', None)
+ metadata.pop('id', None)
image = self.service.create(context, metadata)
diff --git a/nova/locale/bg_BG/LC_MESSAGES/nova.po b/nova/locale/bg_BG/LC_MESSAGES/nova.po
index 0f0363697..4f10bd3e4 100644
--- a/nova/locale/bg_BG/LC_MESSAGES/nova.po
+++ b/nova/locale/bg_BG/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-05-18 19:07+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Bulgarian (Bulgaria) "
@@ -80,298 +80,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1715,261 +1746,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2139,89 +2165,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2269,6 +2313,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2315,21 +2360,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2337,6 +2385,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2361,6 +2411,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2374,14 +2425,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2398,6 +2449,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2414,273 +2466,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2721,6 +2777,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2760,6 +2817,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2852,36 +2910,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2921,32 +2988,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2957,40 +3024,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3024,7 +3098,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3072,7 +3146,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3263,30 +3337,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3298,7 +3378,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3315,16 +3395,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3348,7 +3428,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3407,12 +3487,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3431,152 +3516,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3588,7 +3686,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3621,35 +3719,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3670,312 +3817,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3989,244 +4136,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4290,12 +4437,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4316,653 +4463,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5062,11 +5233,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5082,15 +5253,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5169,7 +5359,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5191,44 +5381,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5259,43 +5449,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5324,47 +5514,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5570,42 +5760,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5725,13 +5915,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5766,151 +5956,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5931,12 +6122,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6139,11 +6330,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6193,11 +6394,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6622,86 +6818,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6736,35 +6929,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6788,7 +6981,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6806,10 +6999,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6857,13 +7063,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7048,59 +7259,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7220,19 +7433,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7242,25 +7455,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7269,7 +7482,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7291,20 +7504,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7323,37 +7536,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7401,85 +7614,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7564,24 +7777,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7591,7 +7804,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7605,22 +7818,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7733,12 +7942,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7991,12 +8200,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8025,23 +8234,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8054,7 +8263,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8073,19 +8282,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8174,17 +8383,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8203,11 +8412,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8231,45 +8440,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8288,12 +8497,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8313,41 +8522,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8373,98 +8582,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8498,29 +8707,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8532,53 +8741,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8608,240 +8817,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8849,75 +9054,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8925,50 +9146,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8978,69 +9199,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9059,15 +9285,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9221,22 +9447,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9244,61 +9470,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9306,7 +9533,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9314,7 +9541,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9322,7 +9549,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9482,12 +9709,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9514,16 +9741,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9533,7 +9760,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9606,105 +9833,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9714,39 +9945,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9958,11 +10189,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10067,100 +10298,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10205,7 +10441,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10281,106 +10517,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10396,54 +10613,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10703,228 +10920,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10932,58 +11149,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11249,11 +11466,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11287,32 +11509,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11330,212 +11552,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/bs/LC_MESSAGES/nova.po b/nova/locale/bs/LC_MESSAGES/nova.po
index 16a8ae37f..af527db80 100644
--- a/nova/locale/bs/LC_MESSAGES/nova.po
+++ b/nova/locale/bs/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2012-01-19 20:22+0000\n"
"Last-Translator: yazar <zrncescientiae@gmail.com>\n"
"Language-Team: Bosnian <bs@li.org>\n"
@@ -79,298 +79,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -378,85 +378,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -464,896 +464,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1368,15 +1389,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1398,17 +1419,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1441,120 +1462,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1568,7 +1599,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1714,261 +1745,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2138,89 +2164,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2268,6 +2312,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2314,21 +2359,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2336,6 +2384,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2360,6 +2410,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2373,14 +2424,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2397,6 +2448,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2413,273 +2465,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2720,6 +2776,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2759,6 +2816,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2851,36 +2909,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2920,32 +2987,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2956,40 +3023,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3023,7 +3097,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3071,7 +3145,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3262,30 +3336,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3297,7 +3377,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3314,16 +3394,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3347,7 +3427,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3406,12 +3486,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3430,152 +3515,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3587,7 +3685,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3620,35 +3718,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3669,312 +3816,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3988,244 +4135,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4289,12 +4436,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4315,653 +4462,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5061,11 +5232,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5081,15 +5252,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5168,7 +5358,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5190,44 +5380,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5258,43 +5448,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5323,47 +5513,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5569,42 +5759,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5724,13 +5914,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5765,151 +5955,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5930,12 +6121,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6138,11 +6329,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6192,11 +6393,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6621,86 +6817,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6735,35 +6928,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6787,7 +6980,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6805,10 +6998,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6856,13 +7062,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7047,59 +7258,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7219,19 +7432,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7241,25 +7454,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7268,7 +7481,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7290,20 +7503,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7322,37 +7535,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7400,85 +7613,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7563,24 +7776,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7590,7 +7803,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7604,22 +7817,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7732,12 +7941,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7990,12 +8199,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8024,23 +8233,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8053,7 +8262,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8072,19 +8281,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8173,17 +8382,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8202,11 +8411,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8230,45 +8439,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8287,12 +8496,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8312,41 +8521,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8372,98 +8581,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8497,29 +8706,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8531,53 +8740,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8607,240 +8816,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8848,75 +9053,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8924,50 +9145,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8977,69 +9198,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9058,15 +9284,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9220,22 +9446,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9243,61 +9469,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9305,7 +9532,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9313,7 +9540,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9321,7 +9548,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9481,12 +9708,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9513,16 +9740,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9532,7 +9759,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9605,105 +9832,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9713,39 +9944,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9957,11 +10188,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10066,100 +10297,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10204,7 +10440,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10280,106 +10516,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10395,54 +10612,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10702,228 +10919,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10931,58 +11148,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11248,11 +11465,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11286,32 +11508,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11329,212 +11551,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/ca/LC_MESSAGES/nova.po b/nova/locale/ca/LC_MESSAGES/nova.po
index 29627c70f..66d368dca 100644
--- a/nova/locale/ca/LC_MESSAGES/nova.po
+++ b/nova/locale/ca/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Catalan "
@@ -80,298 +80,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1715,261 +1746,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2139,89 +2165,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2269,6 +2313,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2315,21 +2360,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2337,6 +2385,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2361,6 +2411,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2374,14 +2425,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2398,6 +2449,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2414,273 +2466,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2721,6 +2777,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2760,6 +2817,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2852,36 +2910,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2921,32 +2988,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2957,40 +3024,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3024,7 +3098,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3072,7 +3146,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3263,30 +3337,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3298,7 +3378,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3315,16 +3395,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3348,7 +3428,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3407,12 +3487,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3431,152 +3516,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3588,7 +3686,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3621,35 +3719,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3670,312 +3817,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3989,244 +4136,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4290,12 +4437,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4316,653 +4463,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5062,11 +5233,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5082,15 +5253,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5169,7 +5359,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5191,44 +5381,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5259,43 +5449,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5324,47 +5514,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5570,42 +5760,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5725,13 +5915,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5766,151 +5956,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5931,12 +6122,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6139,11 +6330,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6193,11 +6394,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6622,86 +6818,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6736,35 +6929,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6788,7 +6981,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6806,10 +6999,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6857,13 +7063,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7048,59 +7259,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7220,19 +7433,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7242,25 +7455,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7269,7 +7482,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7291,20 +7504,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7323,37 +7536,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7401,85 +7614,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7564,24 +7777,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7591,7 +7804,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7605,22 +7818,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7733,12 +7942,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7991,12 +8200,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8025,23 +8234,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8054,7 +8263,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8073,19 +8282,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8174,17 +8383,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8203,11 +8412,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8231,45 +8440,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8288,12 +8497,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8313,41 +8522,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8373,98 +8582,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8498,29 +8707,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8532,53 +8741,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8608,240 +8817,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8849,75 +9054,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8925,50 +9146,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8978,69 +9199,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9059,15 +9285,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9221,22 +9447,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9244,61 +9470,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9306,7 +9533,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9314,7 +9541,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9322,7 +9549,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9482,12 +9709,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9514,16 +9741,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9533,7 +9760,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9606,105 +9833,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9714,39 +9945,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9958,11 +10189,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10067,100 +10298,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10205,7 +10441,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10281,106 +10517,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10396,54 +10613,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10703,228 +10920,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10932,58 +11149,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11249,11 +11466,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11287,32 +11509,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11330,212 +11552,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/cs/LC_MESSAGES/nova.po b/nova/locale/cs/LC_MESSAGES/nova.po
index 252973929..58f4f4e81 100644
--- a/nova/locale/cs/LC_MESSAGES/nova.po
+++ b/nova/locale/cs/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2012-05-17 20:04+0000\n"
"Last-Translator: Zbyněk Schwarz <Unknown>\n"
"Language-Team: Czech <cs@li.org>\n"
@@ -84,162 +84,162 @@ msgstr "Nelze restartovat instanci"
msgid "Flags path: %s"
msgstr "Cesta příznaků: %s"
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr "Vyskytla se neoÄekávaná výjimka."
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, fuzzy, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr "Nelze dešifrovat text"
-#: nova/exception.py:167
+#: nova/exception.py:169
#, fuzzy, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr "Nelze dešifrovat text"
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr "Vytvoření virtuálního rozhraní selhalo"
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr "Selhalo 5 pokusů o vytvoÅ™ení virtuálního rozhraní s jedineÄnou mac adresou"
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr "Neschváleno."
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr "Uživatel nemá správcovská oprávnění"
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr "Pravidla nedovolují, aby bylo %(action)s provedeno."
-#: nova/exception.py:198
+#: nova/exception.py:200
#, fuzzy, python-format
msgid "Image %(image_id)s is not active."
msgstr "Obraz %(image_id)s nemohl být nalezen."
-#: nova/exception.py:202
+#: nova/exception.py:204
#, fuzzy, python-format
msgid "Not authorized for image %(image_id)s."
msgstr "Kernel nenalezen v obrazu %(image_id)s."
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr "Nepřijatelné parametry."
-#: nova/exception.py:211
+#: nova/exception.py:213
#, fuzzy
msgid "Block Device Mapping is Invalid."
msgstr "block_device_mapping %s"
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr "Svazek %(volume_id)s není k niÄemu pÅ™ipojen"
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr "Data páru klíÄů jsou neplatná"
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr "Požadavek je neplatný."
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr "Obdržen neplatný vstup"
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr "Neplatný svazek"
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr "Neplatná metadata"
-#: nova/exception.py:266
+#: nova/exception.py:268
#, fuzzy
msgid "Invalid metadata size"
msgstr "Neplatný klÃ­Ä metadata"
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr "Neplatný rozsah portů %(from_port)s:%(to_port)s. %(msg)s"
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "Neplatný protokol IP %(protocol)s."
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "Neplatný typ obsahu %(content_type)s."
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr "Neplatný cidr %(cidr)s."
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr "%(err)s"
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
@@ -248,16 +248,16 @@ msgstr ""
"Nelze provést Äinnost '%(action)s' na agregátu %(aggregate_id)s. Důvod: "
"%(reason)s."
-#: nova/exception.py:302
+#: nova/exception.py:304
#, fuzzy, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr "Nebyl nalezen žádný platný hostitel. %(reason)s"
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
@@ -266,119 +266,119 @@ msgstr ""
"Instance %(instance_uuid)s v %(attr)s %(state)s. Nelze %(method)s "
"zatímco je instance v tomto stavu."
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "Instance %(instance_id)s není spuštěna."
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr "Instance %(instance_id)s není v nouzovém režimu."
-#: nova/exception.py:323
+#: nova/exception.py:325
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "Instance %(instance_id)s není v nouzovém režimu."
-#: nova/exception.py:327
+#: nova/exception.py:329
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "Instance %(instance_id)s není pozastavena."
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr "Nelze pozastavit instanci"
-#: nova/exception.py:335
+#: nova/exception.py:337
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Nelze vložit soubor: %(resp)r"
-#: nova/exception.py:339
+#: nova/exception.py:341
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "Nelze nastavit heslo správce. Instance %s není spuštěna"
-#: nova/exception.py:343
+#: nova/exception.py:345
#, fuzzy, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr "Nelze nastavit heslo správce. Instance %s není spuštěna"
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr "Nelze restartovat instanci"
-#: nova/exception.py:351
+#: nova/exception.py:353
#, fuzzy
msgid "Failed to terminate instance"
msgstr "Nelze restartovat instanci"
-#: nova/exception.py:355
+#: nova/exception.py:357
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Nelze restartovat instanci"
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr "Služba je v tuto chvíli nedostupná."
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, fuzzy, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr "Služba výpoÄtu je v tuto chvíli nedostupná."
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
"Nelze pÅ™esunout instanci (%(instance_id)s) na souÄasného hostitele "
"(%(host)s)."
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr "Zadaný typ hypervizoru je neplatný."
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr "Instance vyžaduje novější verzi hypervizoru, než byla poskytnuta."
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr "Zadaná cesta disku (%(path)s) již existuje, oÄekává se, že nebude."
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr "Zadaná cesta zařízení (%(path)s) je neplatná."
-#: nova/exception.py:394
+#: nova/exception.py:396
#, fuzzy, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr "Zadaná cesta zařízení (%(path)s) je neplatná."
-#: nova/exception.py:399
+#: nova/exception.py:401
#, fuzzy, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr "Zadaná cesta zařízení (%(path)s) je neplatná."
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr "Nepřijatelné informace o procesoru"
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr "%(address)s není platná IP adresa v4/6."
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
@@ -387,7 +387,7 @@ msgstr ""
"ZnaÄka VLAN není vhodná pro skupinu portů %(bridge)s. OÄekávaná znaÄka "
"VLAN je %(tag)s, ale znaÄka pÅ™ipojená ke skupinÄ› portů je %(pgroup)s."
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -398,86 +398,86 @@ msgstr ""
" fyzickým adaptérem. OÄekávaný vSwitch je %(expected)s, ale spojený je "
"%(actual)s."
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr "Formát disku %(disk_format)s není přijatelný"
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr "Obraz %(image_id)s je nepřijatelný: %(reason)s"
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr "Instance %(instance_id)s je nepřijatelná: %(reason)s"
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr "Id Ec2 %(ec2_id)s je nepřijatelné."
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "Neplatný cidr %(cidr)s."
-#: nova/exception.py:448
+#: nova/exception.py:450
#, fuzzy
msgid "Constraint not met."
msgstr "instance - %s není přítomno"
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr "Zdroj nemohl být nalezen."
-#: nova/exception.py:458
+#: nova/exception.py:460
#, fuzzy, python-format
msgid "No agent-build associated with id %(id)s."
msgstr "Žádná pevná IP není spojena s %(id)s."
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr "Svazek %(volume_id)s nemohl být nastaven."
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr "Snímek %(snapshot_id)s nemohl být nalezen."
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr "Nenalezeno žádné cílové id ve svazku %(volume_id)s."
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr "Źádný disk ve %(location)s"
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr "Nelze najít obslužnou rutinu pro svazek %(driver_type)s."
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr "Neplatný href %(image_href)s obrazu."
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr "Obraz %(image_id)s nemohl být nalezen."
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -485,65 +485,65 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr "Projekt %(project_id)s nemohl být nalezen."
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr "Nelze najít SR pro Ätení/zápis VDI."
-#: nova/exception.py:505
+#: nova/exception.py:507
#, fuzzy, python-format
msgid "Network %(network_id)s is duplicated."
msgstr "Síť %(network_id)s nemohla být nalezena."
-#: nova/exception.py:509
+#: nova/exception.py:511
#, fuzzy, python-format
msgid "Network %(network_id)s is still in use."
msgstr "Síť %(network_id)s nemohla být nalezena."
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr "%(req)s je vyžadováno pro vytvoření sítě."
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr "Síť %(network_id)s nemohla být nalezena."
-#: nova/exception.py:521
+#: nova/exception.py:523
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "Snímek %(snapshot_id)s nemohl být nalezen."
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr "Síť nemohla být pro most %(bridge)s nalezena."
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr "Síť nemohla být pro uuid %(uuid)s nalezena."
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr "Síť nemohla být pro cidr %(cidr)s nalezena."
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr "Síť nemohla být pro instance %(instance_id)s nalezena."
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr "Źádné sítÄ› nejsou urÄeny."
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
@@ -552,238 +552,234 @@ msgstr ""
"BuÄ síť uuid %(network_uuid)s není přítomna nebo je pÅ™idÄ›lena projektu "
"%(project_id)s."
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr "Nelze najít odkazy datového úložiště, který VM používá."
-#: nova/exception.py:554
+#: nova/exception.py:556
#, fuzzy, python-format
msgid "Port %(port_id)s is still in use."
msgstr "Síť %(network_id)s nemohla být nalezena."
-#: nova/exception.py:558
+#: nova/exception.py:560
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "Síť nemohla být pro instance %(instance_id)s nalezena."
-#: nova/exception.py:562
+#: nova/exception.py:564
#, fuzzy, python-format
msgid "No free port available for instance %(instance)s."
msgstr "Síť nemohla být pro instance %(instance_id)s nalezena."
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr "Žádná pevná IP není spojena s %(id)s."
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr "Pevná ip není pro adresu %(address)s nalezena."
-#: nova/exception.py:574
+#: nova/exception.py:576
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr "Instance %(instance_id)s má nula pevných ip."
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr "Síťový hostitel %(host)s má nula pevných ip v síti %(network_id)s."
-#: nova/exception.py:583
+#: nova/exception.py:585
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr "Instance %(instance_id)s nemá pevnou ip '%(ip)s'."
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr "Pevná IP adresa (%(address)s) v síti (%(network_uuid)s) neexistuje."
-#: nova/exception.py:592
+#: nova/exception.py:594
#, fuzzy, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr "Pevná IP adresa (%(address)s) je již používána."
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr "Pevná IP adresa (%(address)s) je neplatná."
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr "Je dostupno nula pevných ip."
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr "Bylo nalezeno nula pevných ip."
-#: nova/exception.py:619
+#: nova/exception.py:621
#, fuzzy, python-format
msgid "Floating ip %(address)s already exists."
msgstr "Plovoucí ip %(address)s je přidružena."
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr "Plovoucí ip není nalezena pro id %(id)s."
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr "Záznam DNS %(name)s již v doméně %(domain)s existuje."
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr "Plovoucí ip nenalezeno pro adresu %(address)s."
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr "Plovoucí ip nenalezeno pro hostitele %(host)s."
-#: nova/exception.py:639
+#: nova/exception.py:641
#, fuzzy, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr "Plovoucí ip nenalezeno pro adresu %(address)s."
-#: nova/exception.py:643
+#: nova/exception.py:645
#, fuzzy
msgid "Floating ip pool not found."
msgstr "Nenalezeny žádné plovoucí ip"
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr "Je dostupných nula plovoucích ip."
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr "Plovoucí ip %(address)s je přidružena."
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr "Plovoucí ip %(address)s není přidružena."
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr "Existuje nula plovoucích ip."
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr "Rozhraní %(interface)s nenalezeno."
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr "Dvojice klíÄů %(name)s nenalezena pro uživatele %(user_id)s"
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr "Certifikát %(certificate_id)s nenalezen."
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr "Služba %(service_id)s nemohla být nalezena."
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr "Hostitel %(host)s nemohl být nalezen."
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr "Hostitel výpoÄtu %(host)s nemohl být nalezen."
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr "Nelze najít binární soubor %(binary)s v hostiteli %(host)s."
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr "Kvóta nemohla být nalezena."
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr "Kvóta pro projekt %(project_id)s nemohla být nalezena."
-#: nova/exception.py:718
+#: nova/exception.py:716
#, fuzzy, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr "Třída %(class_name)s nemohla být nalezena: %(exception)s"
-#: nova/exception.py:722
+#: nova/exception.py:720
#, fuzzy, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr "Kvóta pro projekt %(project_id)s nemohla být nalezena."
-#: nova/exception.py:726
+#: nova/exception.py:724
#, fuzzy, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr "Uživatel %(user_id)s nemohl být nalezen."
-#: nova/exception.py:730
+#: nova/exception.py:728
#, fuzzy, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr "Rozšířený zdroj: %s"
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr "BezpeÄnostní skupina %(security_group_id)s není nalezena."
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
"BezpeÄnostní skupina %(security_group_id)s není nalezena v projektu "
"%(project_id)s."
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr "BezpeÄnostní skupina s pravidlem %(rule_id)s nenalezena."
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
@@ -792,7 +788,7 @@ msgstr ""
"BezpeÄnostní skupina %(security_group_id)s je již pÅ™idružena k instanci "
"%(instance_id)s"
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
@@ -801,37 +797,37 @@ msgstr ""
"BezpeÄnostní skupina %(security_group_id)s není pÅ™idružena k instanci "
"%(instance_id)s"
-#: nova/exception.py:757
+#: nova/exception.py:755
#, fuzzy, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr "BezpeÄnostní skupina s pravidlem %(rule_id)s nenalezena."
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr "Přesun %(migration_id)s nemohl být nalezen."
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr "Přesun nenalezen v instanci %(instance_id)s se stavem %(status)s."
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr "Zásoba konzole %(pool_id)s nemohla být nalezena."
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
@@ -840,17 +836,17 @@ msgstr ""
"Zásoba konzole typu %(console_type)s pro výpoÄetního hostitele "
"%(compute_host)s v hostitele proxy %(host)s nemohla být nalezena."
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr "Konzole %(console_id)s nemohla být nalezena."
-#: nova/exception.py:794
+#: nova/exception.py:792
#, fuzzy, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr "Konzole pro instanci %(instance_id)s nemohla být nalezena."
-#: nova/exception.py:798
+#: nova/exception.py:796
#, fuzzy, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
@@ -859,88 +855,93 @@ msgstr ""
"Konzole pro instanci %(instance_id)s v zásobě %(pool_id)s nemohla být "
"nalezena."
-#: nova/exception.py:803
+#: nova/exception.py:801
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "Neplatná konzole typu %(console_type)s "
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr "Instance typu %(instance_type_id)s nemohla být nalezena."
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr "Instance typu s názvem %(instance_type_name)s nemohla být nalezena."
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr "Konfigurace %(flavor_id)s nemohla být nalezena."
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "skupina svazku %s neexistuje"
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
#, fuzzy
msgid "Timeout waiting for response from cell"
msgstr "PÅ™i Äekání na odpovÄ›Ä RPC vyprÅ¡el Äas: %s"
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, fuzzy, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr "Svazek není nalezen v instanci %(instance_id)s."
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr "Filtr hostitelů plánovaÄe %(filter_name)s nemohl být nalezen."
-#: nova/exception.py:861
+#: nova/exception.py:863
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr "Instance %(instance_id)s nemá žádná metadata s klíÄem %(metadata_key)s."
-#: nova/exception.py:866
+#: nova/exception.py:868
#, fuzzy, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr "Instance %(instance_id)s nemá žádná metadata s klíÄem %(metadata_key)s."
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
@@ -949,455 +950,475 @@ msgstr ""
"Instance typu %(instance_type_id)s nemá žádné dodateÄné specifikace s "
"klíÄem %(extra_specs_key)s."
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr "Soubor %(file_path)s nemohl být nalezen."
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr "Nalezeno nula souborů."
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr "Nenalezen virtuální pÅ™epínaÄ sdružený se síťovým adaptérem %(adapter)s."
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr "Síťový adaptér %(adapter)s nemohl být nalezen."
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr "Třída %(class_name)s nemohla být nalezena: %(exception)s"
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr "Činnost není povolena."
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr "Střídání není povoleno pro snímky"
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr "Parametr rotation je vyžadován pro backup image_type"
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, fuzzy, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr "Dvojice klíÄů %(key_name)s již existuje."
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr "Instance %(name)s již existuje."
-#: nova/exception.py:917
+#: nova/exception.py:919
#, fuzzy, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr "Instance typu %(name)s již existuje."
-#: nova/exception.py:921
+#: nova/exception.py:923
#, fuzzy, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr "Instance typu %(name)s již existuje."
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, fuzzy, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr "%(path)s je ve sdíleném úložišti: %(reason)s"
-#: nova/exception.py:934
+#: nova/exception.py:936
#, fuzzy, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr "%(path)s je ve sdíleném úložišti: %(reason)s"
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr "Chyba přesunu"
-#: nova/exception.py:942
+#: nova/exception.py:944
#, fuzzy
msgid "Migration pre-check error"
msgstr "Chyba přesunu"
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr "Poškozené tělo zprávy: %(reason)s"
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr "Nelze najít nastavení v %(path)s"
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr "Nelze naÄíst aplikaci vložení '%(name)s' z %(path)s"
-#: nova/exception.py:960
+#: nova/exception.py:962
#, fuzzy
msgid "When resizing, instances must change flavor!"
msgstr "Při změně velikosti ji musí instance změnit také!"
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr "Typ paměti instance je pro požadovaný obraz příliš malý."
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr "Typ disku instance je pro požadovaný obraz příliš malý."
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr "Pro spuÅ¡tÄ›ní %(uuid)s je v uzlu výpoÄtu nedostatek volné pamÄ›ti."
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr "Nelze získat metriky šířky pásma/procesoru/disku pro tohoto hostitele."
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr "Nebyl nalezen žádný platný hostitel. %(reason)s"
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr "Kvóta pÅ™ekroÄena"
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, fuzzy, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr "PÅ™ekroÄena kvóta pro %(pid)s, pokus o spuÅ¡tÄ›ní %(min_count)s instancí"
-#: nova/exception.py:1004
+#: nova/exception.py:1006
#, fuzzy
msgid "Maximum number of floating ips exceeded"
msgstr "Vybrán maximální poÄet hostitelů (%d)"
-#: nova/exception.py:1008
+#: nova/exception.py:1010
#, fuzzy
msgid "Maximum number of fixed ips exceeded"
msgstr "Vybrán maximální poÄet hostitelů (%d)"
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, fuzzy, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr "Vybrán maximální poÄet hostitelů (%d)"
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr "PÅ™ekroÄen limit osobnostního souboru"
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr "Cesta osobnostního souboru je příliš dlouhá"
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr "Obsah osobnostního souboru je příliš dlouhý"
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
#, fuzzy
msgid "Maximum number of key pairs exceeded"
msgstr "Vybrán maximální poÄet hostitelů (%d)"
-#: nova/exception.py:1032
+#: nova/exception.py:1034
#, fuzzy
msgid "Maximum number of security groups or rules exceeded"
msgstr "Vybrán maximální poÄet hostitelů (%d)"
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, fuzzy, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr "Agregát %(aggregate_id)s nemá hostitele %(host)s."
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr "Agregát %(aggregate_id)s nemohl být nalezen."
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr "Agregát %(aggregate_name)s již existuje."
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr "Agregát %(aggregate_id)s nemá hostitele %(host)s."
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr "Agregát %(aggregate_id)s nemá žádná metadata s klíÄem %(metadata_key)s."
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr "Agregát %(aggregate_id)s již má hostitele %(host)s."
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr "Nelze vytvořit typ instance"
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, fuzzy, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr "Nelze nastavit heslo správce. Instance %s není spuštěna"
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, fuzzy, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr "Zjišťěna existující vlan s id %(vlan)"
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr "Instance %(instance_id)s nemohla být nastavena."
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "Konzole pro instanci %(instance_id)s nemohla být nalezena."
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "Svazek %(volume_id)s nemohl být nastaven."
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, fuzzy, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr "Snímek %(snapshot_id)s nemohl být nalezen."
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, fuzzy, python-format
msgid "Marker %(marker)s could not be found."
msgstr "Obraz %(image_id)s nemohl být nalezen."
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "Získávání obrazu %(image)s"
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "Získávání obrazu %(image)s"
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, fuzzy, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr "Plovoucí ip nenalezeno pro hostitele %(host)s."
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr "Instance %(instance_id)s nenalezena"
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Navrácení sítě pro instnac"
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "Navrácení sítě pro instnac"
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, fuzzy, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr "Připojit svazek %(volume_id)s k instanci %(instance_id)s na %(device)s"
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, fuzzy, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr "Dvojice klíÄů %(name)s nenalezena pro uživatele %(user_id)s"
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, fuzzy, python-format
msgid "The CA file for %(project)s could not be found"
msgstr "Kvóta pro projekt %(project_id)s nemohla být nalezena."
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, fuzzy, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr "Projekt %(project_id)s nemohl být nalezen."
-#: nova/exception.py:1181
+#: nova/exception.py:1187
#, fuzzy
msgid "Instance recreate is not implemented by this virt driver."
msgstr "set_admin_password není tímto ovladaÄem zavedeno"
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "Instance %(instance_id)s není v nouzovém režimu."
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "Instance %(instance_id)s není v nouzovém režimu."
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "Instance typu %(name)s již existuje."
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, fuzzy, python-format
msgid "Unsupported object type %(objtype)s"
msgstr "OÄekáván objekt typu: %s"
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1412,15 +1433,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr "Oznamování schopností plánovaÄům ..."
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Nelze získat metadata pro ip: %s"
@@ -1443,17 +1464,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1486,120 +1507,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr "ladění ve zpětném volání: %s"
-#: nova/utils.py:334
+#: nova/utils.py:362
+#, python-format
+msgid "Couldn't get IPv4 : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:379
+#, python-format
+msgid "IPv4 address is not found.: %s"
+msgstr ""
+
+#: nova/utils.py:382
+#, python-format
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:397
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "Adresa místního spojení nenalezena.: %s"
-#: nova/utils.py:337
+#: nova/utils.py:400
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr "Nelze získat IP místního spojení %(interface)s :%(ex)s"
-#: nova/utils.py:376
+#: nova/utils.py:439
#, python-format
msgid "Invalid backend: %s"
msgstr "Neplatná podpůrná vrstva: %s"
-#: nova/utils.py:437
-#, fuzzy, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr "Neznámý základní soubor: %s"
-
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr "OÄekáván objekt typu: %s"
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr "Neplatný server_string: %s"
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr "timefunc: '%(name)s' trvalo %(total_time).2f sek"
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, fuzzy, python-format
msgid "Reloading cached file %s"
msgstr "Odstraňování základního souboru: %s"
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, fuzzy, python-format
msgid "Could not remove tmpdir: %s"
msgstr "Nelze odstranit kontejner: %s"
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, fuzzy, python-format
msgid "%s is not a string or unicode"
msgstr "Název serveru není řetězec nebo unicode"
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, fuzzy, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr "Dvojice klíÄů musí být dlouhá 1 až 255 znaků."
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, fuzzy, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr "%(name)s spuštěno v %(host)s:%(port)s"
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, fuzzy, python-format
msgid "Unable to find cert_file : %s"
msgstr "Nelze najít adresu %r"
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, fuzzy, python-format
msgid "Unable to find ca_file : %s"
msgstr "Nelze najít adresu %r"
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, fuzzy, python-format
msgid "Unable to find key_file : %s"
msgstr "Nelze najít adresu %r"
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr "Zastavování serveru WSGI."
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr "Server WSGI byl zastaven."
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr "Musíte zavést __call__"
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, fuzzy, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr "Nelze naÄíst aplikaci vložení '%(name)s' z %(path)s"
@@ -1613,7 +1644,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1764,274 +1795,269 @@ msgstr ""
"Nepodporovaný požadavek API: ovladaÄ = %(controller)s, Äinnost = "
"%(action)s"
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr "Vytvořit snímek svazku %s"
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, fuzzy, python-format
msgid "Could not find key pair(s): %s"
msgstr "Nelze deÅ¡ifrovat soukromý klíÄ: %s"
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr "VytvoÅ™it dvojici klíÄů %s"
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr "Imprtovat klÃ­Ä %s"
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr "Smazat dvojici klíÄů %s"
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, fuzzy, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr "Není dostatek parametrů k sestavení platného pravidla."
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "Neplatný protokol IP %(protocol)s."
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr "Pro zadané parametry není žádné pravidlo."
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, fuzzy, python-format
msgid "%s - This rule already exists in group"
msgstr "Toto pravidlo již existuje ve skupině %s"
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr "Získat výstup konzole pro instanci %s"
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr "Vytvořit svazek ze snímku %s"
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr "Vytvořit svazek o %s GB"
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
#, fuzzy
msgid "Delete Failed"
msgstr "Vytvoření selhalo"
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr "Připojit svazek %(volume_id)s k instanci %(instance_id)s na %(device)s"
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
#, fuzzy
msgid "Attach Failed."
msgstr "Vytvoření selhalo"
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "Odpojit svazek %s"
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
#, fuzzy
msgid "Detach Volume Failed."
msgstr "Odpojit svazek %s"
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr "vlastnost není podporována: %s"
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr "svz = %s\n"
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr "Přidělit adresu"
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
#, fuzzy
msgid "No more floating IPs available"
msgstr "Žádné další plovoucí ip nejsou dostupné."
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr "Uvolnit adresu %s"
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
#, fuzzy
msgid "Unable to release IP Address."
msgstr "Nelze najít adresu %r"
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr "Přidělit adresu %(public_ip)s k instanci %(instance_id)s"
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
#, fuzzy
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Nelze najít adresu %r"
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, fuzzy, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr "existuje mnoho pevných ip, použita je první: %s"
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
#, fuzzy
msgid "Floating ip is already associated."
msgstr "Plovoucí ip %(address)s je přidružena."
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
#, fuzzy
msgid "l3driver call to add floating ip failed."
msgstr "Je dostupných nula plovoucích ip."
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
#, fuzzy
msgid "Error, unable to associate floating ip."
msgstr "Nelze najít adresu %r"
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr "Oddělit adresu %s"
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
#, fuzzy
msgid "Floating ip is not associated."
msgstr "Plovoucí ip %(address)s není přidružena."
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr "Obraz musí být dostupný"
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr "BUde spuÅ¡tÄ›no ukonÄování insatncí"
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr "Restratovat instanci %r"
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr "Instance budou zastaveny"
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr "Instance budou spuštěny"
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr "Zrušení registrace obrazu %s"
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr "Obraz %(image_location)s registrován s id %(image_id)s"
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr "uživatel nebo skupina nebyly zadány"
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr "podporována je pouze skupina \"all\""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr "operation_type musí být add nebo remove"
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr "Aktualizace publicity obrazu %s"
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr "Nelze zastavit instanci za %d sek"
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
#, fuzzy
msgid "Expecting a list of resources"
msgstr "Získávání seznamu instancí"
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
#, fuzzy
msgid "Only instances implemented"
msgstr "instance - %s není přítomno"
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
#, fuzzy
msgid "Expecting a list of tagSets"
msgstr "Získávání seznamu instancí"
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
#, fuzzy
msgid "Invalid CIDR"
msgstr "Neplatná data jednotky"
@@ -2205,89 +2231,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr "Neplatná metadata"
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr "Nelze '%(action)s' zatímco instance je %(attr)s %(state)s"
#: nova/api/openstack/common.py:366
+#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
#, fuzzy, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr "Instance je v neplatném stavu pro '%(action)s'"
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr "Odmítnutí žádosti o snímek, snímky jsou nyní zakázány"
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr "Snímky instance nejsou v souÄasnosti povoleny."
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr "NaÄteno rozšíření: %s"
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr "Název roz: %s"
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr "Přezdívká roz: %s"
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr "Popis roz: %s"
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr "Jmenný prostor roz: %s"
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr "Roz aktualizováno: %s"
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr "Výjimka pÅ™i naÄítání rozšíření: %s"
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr "NaÄítání rozšíření %s"
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr "Volání továrny rozšíření %s"
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr "Nelze naÄít rozšížení %(ext_factory)s: %(exc)s"
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr "Nelze naÄíst rozšíření %(classpath)s: %(exc)s"
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, fuzzy, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr "Nelze naÄíst rozšíření %(ext_name)s: %(exc)s"
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr "JSON nelze porozumět"
@@ -2335,6 +2379,7 @@ msgstr "Žádná taková Äinnost: %s"
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr "Poškozené tělo požadavku"
@@ -2383,21 +2428,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr "podtřídy musí zavádět construct()!"
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr "Zavádění správce rozšíření."
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, fuzzy, python-format
msgid "Invalid is_public filter [%s]"
msgstr "Neplatný podpis pro uživatele %s"
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, fuzzy, python-format
msgid "Invalid minRam filter [%s]"
msgstr "Neplatný podpis pro uživatele %s"
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2405,6 +2453,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr "Obraz nenalezen"
@@ -2429,6 +2479,7 @@ msgid "Invalid metadata key"
msgstr "Neplatný klÃ­Ä metadata"
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2442,7 +2493,7 @@ msgstr "Instance neexistuje"
msgid "Instance is not a member of specified network"
msgstr "Instance není Älenem zadané sítÄ›"
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
@@ -2451,7 +2502,7 @@ msgstr ""
"Pouze %(value)s požadavky %(verb)s mohou být provedeny pro %(uri)s "
"každých %(unit_string)s."
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr "Tento požadavek má omezen množství."
@@ -2468,6 +2519,7 @@ msgstr "Položka metadat nenalezena"
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr "Neplatná hodnota changes-since"
@@ -2485,284 +2537,288 @@ msgid "Flavor '%s' could not be found "
msgstr "Hostitel %(host)s nemohl být nalezen."
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr "Instance nemohla být nalezena"
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr "Špatný formát osobnosti: chybí %s"
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr "Špatný formát osobnosti"
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr "Obsah osobnosti pro %s nemůže být dekódován"
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
#, fuzzy
msgid "Unknown argment : port"
msgstr "neznámá chyby připojení hosta"
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, fuzzy, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr "Špatný formát sítí: uuid sítě není ve správném formátu (%s)"
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr "Špatný formát sítí: uuid sítě není ve správném formátu (%s)"
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr "Neplatná pevná IP adresa (%s)"
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr "Duplicitní sítě (%s) nejosu povoleny"
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr "Špatný formát sítě: chybí %s"
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr "Špatný formát sítě"
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr "Obsah uživatelských dat nemůže být dekódován"
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr "accessIPv4 není ve správném formátu IPv4"
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
#, fuzzy
msgid "accessIPv6 is not proper IPv6 format"
msgstr "accessIPv4 není ve správném formátu IPv4"
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr "Název serveru není urÄen"
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr "Zadáno neplatné flavorRef."
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
#, fuzzy
msgid "min_count must be an integer value"
msgstr "parametr limit musí být celé Äíslo"
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
#, fuzzy
msgid "max_count must be an integer value"
msgstr "parametr limit musí být celé Äíslo"
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr "Nelze najít požadovaný obraz"
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr "Zadán neplatný název_klíÄe."
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
#, fuzzy
msgid "HostId cannot be updated."
msgstr "id nemůže být None"
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
#, fuzzy
msgid "Personality cannot be updated."
msgstr "id nemůže být None"
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr "Instanci nebyla změněna velikost."
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
#, fuzzy
msgid "Flavor used by the instance could not be found."
msgstr "Instance %(instance_id)s nemohla být nastavena."
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr "Argument 'type' pro restart není HARD Äi SOFT"
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr "Chybí argument 'type' pro restart"
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr "Nelze najít požadovanou konfiguraci."
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
#, fuzzy
msgid "Resize requires a flavor change."
msgstr "Resize vyžaduje změnu velikosti."
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
#, fuzzy
msgid "Image that the instance was started with could not be found."
msgstr "Instance %(instance_id)s nemohla být nastavena."
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
#, fuzzy
msgid "Invalid instance image."
msgstr "%s je platný název instance"
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr "Chybí vlastnost imageRef"
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr "Zadáno neplatné imageRef."
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr "Chybí vlastnost flavorRef"
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr "Nebylo zadáno adminPass"
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr "Neplatné adminPass"
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
#, fuzzy
msgid "Unable to set password on instance"
msgstr "Nelze restartovat instanci"
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr "Nelze zpracovat metadata dvojic hodnot/klíÄů."
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr "Požadavek na změnu velikosti má neplatnou vlastnost 'flavorRef'."
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr "Požadavek na změnu velikosti vyžaduje vlastnost 'flavorRef'."
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr "Neplatné tělo požadavku"
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr "Nelze zpracovat imageRef z požadavku."
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr "Nelze najít obraz ke znovu sestavení"
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr "Objekt createImage cyžaduje vlastnost name"
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, fuzzy, python-format
msgid "Removing options '%s' from query"
msgstr "Odstraňování voleb '%(unk_opt_str)s' z fronty"
@@ -2803,6 +2859,7 @@ msgstr "Compute.api::reset_sítě %s"
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr "Server nenalezen"
@@ -2843,6 +2900,7 @@ msgstr "Vlastnost createBackup 'rotation' musí být celé Äíslo"
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr "Instance nenalezena"
@@ -2939,38 +2997,47 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, fuzzy, python-format
msgid "Cell %(id)s not found."
msgstr "Pravidlo (%s) nenalezeno"
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
#, fuzzy
msgid "Cell name cannot be empty"
msgstr "Název bezpeÄnostní skupiny nemůže být prázdné"
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
#, fuzzy
msgid "No cell information in request"
msgstr "block_device_mapping %s"
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr "Může být získán pouze kořenový certifikát."
@@ -3014,34 +3081,34 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
#, fuzzy
msgid "Coverage not running"
msgstr "xvp není spuštěno"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
#, fuzzy
msgid "Invalid path"
msgstr "Neplatný snímek"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, fuzzy, python-format
msgid "Directory conflict: %s already exists"
msgstr "BezpeÄnostní skupina %s již existuje"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, fuzzy, python-format
msgid "Coverage doesn't have %s action"
msgstr "Síť nemá Äinnost %s"
@@ -3052,42 +3119,49 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr "%s musí být buÄ 'MANUAL' nebo 'AUTO'."
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
#, fuzzy
msgid "host and onSharedStorage must be specified."
msgstr "host a block_migration musí být zadány."
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, fuzzy, python-format
msgid "Error in evacuate, %s"
msgstr "Chyba v přesunu %s"
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "Certifikát %(certificate_id)s nenalezen."
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
#, fuzzy
msgid "Flavor not found."
msgstr "Server nenalezen."
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
#, fuzzy
msgid "No request body"
msgstr "Žádné tělo požadavku"
@@ -3123,7 +3197,7 @@ msgstr "Plovoucí ip %(address)s není přidružena."
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr "Chybí parametr dict"
@@ -3176,7 +3250,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr "Plovoucí ip %(address)s není přidružena."
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3374,30 +3448,36 @@ msgid "Create networks failed"
msgstr "Vytvoření selhalo"
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3409,7 +3489,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr "Poškozená vlasnost scheduler_hints"
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr "Není dostatek parametrů k sestavení platného pravidla."
@@ -3428,16 +3508,16 @@ msgstr "Zobrazování sítě s id %s"
msgid "security group default rule not found"
msgstr "BezpeÄnostní skupina s pravidlem %(rule_id)s nenalezena."
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, fuzzy, python-format
msgid "Bad prefix for network in cidr %s"
msgstr "Špatná předpona pro to_global_ipv6: %s"
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr "Není zadána bezpeÄnostní skupina"
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr "Název bezpeÄnostní skupiny nemůže být prázdné"
@@ -3463,7 +3543,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
#, fuzzy
msgid "Unknown service"
msgstr "neznámá chyby připojení hosta"
@@ -3523,12 +3603,17 @@ msgstr "NaÄteno rozšíření: %s"
msgid "Ext version: %i"
msgstr "Popis roz: %s"
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, fuzzy, python-format
msgid "Reserving IP address %s"
msgstr "Uvolnit adresu %s"
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, fuzzy, python-format
msgid "Unreserving IP address %s"
msgstr "Uvolnit adresu %s"
@@ -3547,153 +3632,166 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, fuzzy, python-format
msgid "Running _create_extension_point for %s"
msgstr "Volání továrny rozšíření %s"
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, fuzzy, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr "pro zprávu není metoda: %s"
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, fuzzy, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr "Nelze naÄít rozšížení %(ext_factory)s: %(exc)s"
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, fuzzy, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr "pro zprávu není metoda: %s"
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, fuzzy, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr "Odstraňování základního souboru: %s"
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, fuzzy, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr "Obsazena '%(method)s' do '%(host)s' výpoÄtu"
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Svazek není nalezen v instanci %(instance_id)s."
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
#, fuzzy
msgid "Got update to delete instance"
msgstr "Svazek není nalezen v instanci %(instance_id)s."
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "Svazek není nalezen v instanci %(instance_id)s."
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3705,7 +3803,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3738,35 +3836,84 @@ msgstr "Spouštění VPN pro %s"
msgid "Failed to load %s"
msgstr "Nelze vytvořit svazek"
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, fuzzy, python-format
msgid "deployment to node %s failed"
msgstr "prvek není podřazený"
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3789,326 +3936,326 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "obdrženo: %s"
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, fuzzy, python-format
msgid "error: %s"
msgstr "Chyba DB: %s"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "Reset sítě"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "poÄáteÄní adresa"
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
#, fuzzy
msgid "No fixed IP found."
msgstr "Bylo nalezeno nula pevných ip."
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, fuzzy, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr "K instanci nejsou přidruženy žádné pevné ip"
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "Plovoucí ip %(address)s je přidružena."
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr "id"
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr "IPv4"
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr "IPv6"
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr "poÄáteÄní adresa"
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr "DNS1"
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr "DNS2"
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr "VlanID"
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr "projekt"
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr "uuid"
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "Síť nenalezena"
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
#, fuzzy
msgid "UUID is required to delete Quantum Networks"
msgstr "%(req)s je vyžadováno pro vytvoření sítě."
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "zastavit instanci %r"
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr "Služba %(service_id)s nemohla být nalezena."
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr "Služba %(service_id)s nemohla být nalezena."
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "NeoÄekávaná chyba: %s"
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
#, fuzzy
msgid "PROJECT"
msgstr "projekt"
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
#, fuzzy
msgid "Must supply valid parameters to create instance_type"
msgstr "Nelze vytvořit typ instance"
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "instance - %s není přítomno"
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
#, fuzzy
msgid "Unknown error"
msgstr "neznámá chyby připojení hosta"
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, fuzzy, python-format
msgid "%s created"
msgstr "Tabulka |%s| není vytvořena!"
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
#, fuzzy
msgid "Valid instance type name is required"
msgstr "%s je platný název instance"
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Chyba DB: %s"
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "typ je = %s"
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -4122,26 +4269,26 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
#, fuzzy
msgid "Cannot run any more instances of this type."
msgstr "PÅ™ekroÄena kvóta instancí. Nemůžete spustit další instance tohoto typu."
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, fuzzy, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
"PÅ™ekroÄena kvóta instancí. Můžete spustit pouze %s dalších instancí "
"tohoto typu."
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, fuzzy, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr "PÅ™ekroÄena kvóta pro %(pid)s, pokus o spuÅ¡tÄ›ní %(min_count)s instancí"
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
@@ -4150,99 +4297,99 @@ msgstr ""
"PÅ™ekroÄena kvóta pro %(pid)s, pokus o nastavení %(num_metadata)s "
"vlastností metadat"
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
#, fuzzy
msgid "Metadata property key greater than 255 characters"
msgstr "BezpeÄnostní skupina %s by nemÄ›la být vÄ›tší než 255 znaků."
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
#, fuzzy
msgid "Metadata property value greater than 255 characters"
msgstr "BezpeÄnostní skupina %s by nemÄ›la být vÄ›tší než 255 znaků."
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Nelze připojit svazek k instanci %s"
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr "Chystá se spuštění %s instancí..."
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr "bdm %s"
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr "block_device_mapping %s"
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
#, fuzzy
msgid "instance termination disabled"
msgstr "BUde spuÅ¡tÄ›no ukonÄování insatncí"
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "Instance typu %(instance_type_id)s nemohla být nalezena."
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "BUde spuÅ¡tÄ›no ukonÄování insatncí"
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, fuzzy, python-format
msgid "instance's host %s is down, deleting from database"
msgstr "Žádný hostitel pro instnaci %s, okamžitě smazána"
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
#, fuzzy
msgid "Going to try to soft delete instance"
msgstr "Pokus o jemné smazání %s"
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
#, fuzzy
msgid "Going to try to terminate instance"
msgstr "Pokus o ukonÄení %s"
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
#, fuzzy
msgid "Going to try to stop instance"
msgstr "Pokus o zastavení %s"
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
#, fuzzy
msgid "Going to try to start instance"
msgstr "Pokus o spuštění %s"
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr "Hledání podle: %s"
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, fuzzy, python-format
msgid "snapshot for %s"
msgstr "Spouštění snímku ve VM %s"
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr "flavor_id je None. Předpokládán přesun."
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
@@ -4251,63 +4398,63 @@ msgstr ""
"Stará instance typu %(current_instance_type_name)s, nová instance typu "
"%(new_instance_type_name)s"
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, fuzzy, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr "PÅ™ekroÄena kvóta pro %(pid)s, pokus o spuÅ¡tÄ›ní %(min_count)s instancí"
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, fuzzy, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "Pokus o ukonÄení %s"
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr "Dvojice klíÄů musí být dlouhá 1 až 255 znaků."
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr "BezpeÄnostní skupina %s není Å™etÄ›zec nebo unicode"
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr "BezpeÄnostní skupina %s nemůže být prázdná."
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, fuzzy, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
@@ -4316,70 +4463,70 @@ msgstr ""
"Hodnota (%s) parametru GroupName je neplatná. Délka pÅ™ekraÄuje maximum "
"255 znaků."
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr "BezpeÄnostní skupina %s by nemÄ›la být vÄ›tší než 255 znaků."
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr "VytvoÅ™it bezpeÄnostní skupinu %s"
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr "BezpeÄnostní skupina %s již existuje"
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Nelze zniÄit vbd %s"
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Nelze zniÄit vbd %s"
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
#, fuzzy
msgid "Security group is still in use"
msgstr "Id bezpeÄnostní skupiny by mÄ›lo být celé Äíslo"
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr "Smazat bezpeÄnostní skupinu %s"
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr "Pravidlo (%s) nenalezeno"
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
#, fuzzy
msgid "Quota exceeded, too many security group rules."
msgstr "PÅ™idávání pravidla bezpeÄnostní skupiny: %r"
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr "Povolit přístup bezpeÄnostní skupiny %s"
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr "ZruÅ¡it přístup bezpeÄnostní skupiny %s"
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr "Id bezpeÄnostní skupiny by mÄ›lo být celé Äíslo"
@@ -4444,13 +4591,13 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
-#, fuzzy, python-format
-msgid "'%s' argument must be greater than or equal to 0"
-msgstr "Vlastnost createBackup 'rotation' musí být celé Äíslo"
+#, python-format
+msgid "'%s' argument must be an integer greater than or equal to 0"
+msgstr ""
#: nova/compute/flavors.py:119
#, fuzzy
@@ -4471,20 +4618,20 @@ msgstr "Chyba DB: %s"
msgid "Instance type %s not found for deletion"
msgstr "Instance typu %s není nalezena ke smazání"
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, fuzzy, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
@@ -4493,241 +4640,261 @@ msgstr ""
"Nelze pÅ™esunout instanci (%(instance_id)s) na souÄasného hostitele "
"(%(host)s)."
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Nelze restartovat instanci"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr "SouÄasný stav je %(drv_state)s, stav v DB je %(db_state)s."
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr "Restartování instance po restartu nova-compute."
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Hypervisor driver does not support resume guests"
msgstr "OvladaÄ hypervizoru nepodporuje pravidla firewallu"
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
#, fuzzy
msgid "Failed to resume instance"
msgstr "Nelze pozastavit instanci"
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr "OvladaÄ hypervizoru nepodporuje pravidla firewallu"
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "NeoÄekávaný kód stavu"
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr "Kontrola stavu"
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr "Nastavování bdm %s"
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
#, fuzzy
msgid "Failed to dealloc network for deleted instance"
msgstr "Navrácení sítě pro instnac"
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
#, fuzzy
msgid "Instance was deleted during spawn."
msgstr "Instance nemohla být spuštěna"
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, fuzzy, python-format
msgid "Error: %s"
msgstr "Chyba DB: %s"
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr "Spouštění instance..."
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
#, fuzzy
msgid "Allocating IP information in the background."
msgstr "Nenalezeny žádné plovoucí ip"
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
-msgstr "Instance selhala v nastavení sítě"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
+msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr "Informace o síti instance: |%s|"
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr "Instance selhala nastavení blokového zařízení"
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr "Instance nemohla být spuštěna"
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr "Navrácení sítě pro instnac"
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Navrácení sítě pro instnac"
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr "%(action_str)s nstance"
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr "Ignorování DiskNenalezen: %s"
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, fuzzy, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr "Ignorování DiskNenalezen: %s"
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr "ukonÄování bdm %s"
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr "%s. Nastavování stavu vm instance na ERROR"
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
#, fuzzy
msgid "Rebuilding instance"
msgstr "Znovu sestavování instance %s"
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, fuzzy, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr "%(path)s je ve sdíleném úložišti: %(reason)s"
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Vytvořit snímek ze svazku %s"
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
#, fuzzy
msgid "Rebooting instance"
msgstr "Restartování instance %s"
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, fuzzy, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
@@ -4736,22 +4903,26 @@ msgstr ""
"pokus o restartování nespuštěné instance: %(instance_uuid)s (stav: "
"%(state)s oÄekáváno: %(running)s)"
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
#, fuzzy
msgid "Instance disappeared during reboot"
msgstr "instance %s: znovu zavedena"
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
#, fuzzy
msgid "instance snapshotting"
msgstr "instance %s: pořizování snímku"
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, fuzzy, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
@@ -4760,231 +4931,231 @@ msgstr ""
"pokus o vytvoření snímku z nespuštěné instance: %(instance_uuid)s (stav: "
"%(state)s oÄekáváno: %(running)s)"
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr "Nalezeno %(num_images)d obrazů (střídání: %(rotation)d)"
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr "Střídání %d záloh"
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr "Mazání obrazu %s"
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr "Nelze nastavit heslo správce. Instance %s není spuštěna"
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
#, fuzzy
msgid "Root password set"
msgstr "Instance %s: Nastavení hesla root"
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
#, fuzzy
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr "set_admin_password není tímto ovladaÄem zavedeno"
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, fuzzy, python-format
msgid "set_admin_password failed: %s"
msgstr "set_admin_password není tímto ovladaÄem zavedeno"
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
#, fuzzy
msgid "error setting admin password"
msgstr "Chyba při nastavování hesla správce"
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Nelze pozastavit instanci"
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "Chyba DB: %s"
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
#, fuzzy
msgid "Unrescuing"
msgstr "instance %s: rušení záchrany"
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, fuzzy, python-format
msgid "Updating instance to original state: '%s'"
msgstr "Nastavování instance %(instance_uuid)s do stavu ERROR"
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
#, fuzzy
msgid "Instance has no source host"
msgstr "Instance nemá svazek."
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr "cíl stejný jako zdroj!"
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
#, fuzzy
msgid "Pausing"
msgstr "Aktualizování!"
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "instance %s: získávání diagnostik"
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
#, fuzzy
msgid "Reset network"
msgstr "Reset sítě"
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
#, fuzzy
msgid "Inject network info"
msgstr "instance %s: vkládání informací o síti"
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr "network_info vkládá: |%s|"
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
#, fuzzy
msgid "Get console output"
msgstr "Získat výstup konzole pro instanci %s"
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
#, fuzzy
msgid "Getting vnc console"
msgstr "instance %s: získávání konzole vnc"
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
#, fuzzy
msgid "Getting spice console"
msgstr "instance %s: získávání konzole vnc"
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr "Zavádění pomocí svazku %(volume_id)s ve %(mountpoint)s"
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr "Připojování svazku %(volume_id)s do %(mountpoint)s"
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, fuzzy, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr "Zavádění pomocí svazku %(volume_id)s ve %(mountpoint)s"
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, fuzzy, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr "Připojování svazku %(volume_id)s do %(mountpoint)s"
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr "Odpojování svazku %(volume_id)s z bodu připojení %(mp)s"
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "Odpojování svazku z neznámé instance %s"
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "Připojování svazku %(volume_id)s do %(mountpoint)s"
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, fuzzy, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr "přidělování sítě pro instanci %s"
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
#, fuzzy
msgid "_post_live_migration() is started.."
msgstr "zahájen přesun po spuštění."
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
@@ -4992,21 +5163,21 @@ msgstr ""
"Můžete vidět tuto chybu \"libvirt: QEMU error: Domain not found: no "
"domain with matching name.\" Tuto chybu můžete bezpeÄnÄ› ignorovat."
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
#, fuzzy
msgid "Post operation of migration started"
msgstr "Spuštěna operace po migraci"
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Nelze získat metadata pro ip: %s"
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
@@ -5015,64 +5186,64 @@ msgstr ""
"Nalezeno %(migration_count)d nepotvrzených přesunů starších než "
"%(confirm_window)d vteřin"
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, fuzzy, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr "Vypínání VM pro instanci %(instance_uuid)s"
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
#, fuzzy
msgid "In ERROR state"
msgstr "Uzel je v neznámém chybovém stavu."
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr "Aktualizace mezipaměti využití šířky pásma"
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Aktualizace mezipaměti využití šířky pásma"
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr "Aktualizace stavu hostitele"
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
@@ -5081,86 +5252,86 @@ msgstr ""
"Nalezeno %(num_db_instances)s v databázi a %(num_vm_instances)s na "
"hypervizoru."
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "Instance není zapnuta"
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
#, fuzzy
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr "FLAGS.reclaim_instance_interval <= 0, překskování..."
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr "Znovu získávání smazané instance"
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Zaznamování ovladaÄe svazku: %s"
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, fuzzy, python-format
msgid "No service record for host %s"
msgstr "Žádná služba pro ID výpoÄtu %s"
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, fuzzy, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr "Nastavování instance %(instance_uuid)s do stavu ERROR"
@@ -5262,11 +5433,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr "Nezadán žádný poÄítaÄový hostitel"
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr "Nelze najít hostitele pro instanci %s"
@@ -5282,16 +5453,37 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
#, fuzzy
msgid "Invalid block_device_mapping_destroy invocation"
msgstr "block_device_mapping %s"
+#: nova/conductor/tasks/live_migrate.py:103
+#, fuzzy, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+"Nelze přesunout %(instance_id)s do %(dest)s: Nedostatek paměti "
+"(hostitel:%(avail)s <= instance:%(mem_inst)s)"
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr "Přidávání konzole"
@@ -5373,7 +5565,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "Nelze restartovat instanci"
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5396,44 +5588,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr "Nerozpoznaná hodnota read_deleted '%s'"
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, fuzzy, python-format
msgid "Invalid floating ip id %s in request"
msgstr "instance %s: zachráněna"
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, fuzzy, python-format
msgid "Invalid floating IP %s in request"
msgstr "instance %s: zachráněna"
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, fuzzy, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr "instance %s: zachráněna"
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, fuzzy, python-format
msgid "Invalid virtual interface address %s in request"
msgstr "instance %s: zachráněna"
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "instance %s: zachráněna"
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5464,43 +5656,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
#, fuzzy
msgid "Unsupported id columns type"
msgstr "Nepodporovaný Content-Type"
@@ -5531,47 +5723,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr "Stahování obrazu %s ze serveru obrazu glance"
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr "Nelze stáhnout %(image_location)s do %(image_path)s"
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr "Nelze dešifrovat %(image_location)s do %(image_path)s"
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr "Nelze rozbalit %(image_location)s do %(image_path)s"
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr "Nelze nahrát %(image_location)s do %(image_path)s"
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr "Nelze deÅ¡ifrovat soukromý klíÄ: %s"
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr "Nelze dešifrovat vektor zavedení: %s"
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr "Nelze dešifrovat soubor obrazu %(image_file)s: %(err)s"
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr "NebezpeÄné názvy souboru v obrazu"
@@ -5783,42 +5975,42 @@ msgstr "ukonÄení radvd vrhlo %s"
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d je starý, znovu spouštění radvd"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "Neplatný stav: '%s'"
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr "Spouštění rozhraní VLAN %s"
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "Zajišťování mostu %s"
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, fuzzy, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr "Zajišťování vlan %(vlan)s a mostu %(bridge)s"
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "Nelze pozastavit instanci"
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "Zajišťování mostu %s"
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, fuzzy, python-format
msgid "Done starting bridge %s"
msgstr "Zajišťování mostu %s"
@@ -5948,13 +6140,13 @@ msgstr "Síť již existuje!"
msgid "Network must be disassociated from project %s before delete"
msgstr "Síť musí být odlouÄena od projektu %s pÅ™ed smazáním"
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr "Suma mezi poÄtem sítí a spuÅ¡tÄ›ní vlan nemůže být vÄ›tší než 4094"
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, fuzzy, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5992,158 +6184,158 @@ msgstr "_smazat: %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr "podsítě v4 jsou vyžadovány pro zastaralé nw_info"
-#: nova/network/quantumv2/__init__.py:67
-#, fuzzy
-msgid "quantum authentication failed"
-msgstr "Chyba ověření"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
+msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, fuzzy, python-format
msgid "allocate_for_instance() for %s"
msgstr "přidělování sítě pro instanci %s"
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, fuzzy, python-format
msgid "empty project id for instance %s"
msgstr "přidělování sítě pro instanci %s"
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
#, fuzzy
msgid "Port not found"
msgstr "Hostitel nenalezen"
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, fuzzy, python-format
msgid "deallocate_for_instance() for %s"
msgstr "oddělení sítě pro instanci |%s|"
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, fuzzy, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr "Nelze smazat svazek v db"
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, fuzzy, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr "Nelze smazat svazek v db"
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, fuzzy, python-format
msgid "get_instance_nw_info() for %s"
msgstr "Informace o síti instance: |%s|"
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, fuzzy, python-format
msgid "validate_networks() for %s"
msgstr "Špatný formát sítě"
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, fuzzy, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr "Plovoucí ip není nalezena pro id %(id)s."
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, fuzzy, python-format
msgid "Quantum Error creating security group %s"
msgstr "Smazat bezpeÄnostní skupinu %s"
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, fuzzy, python-format
msgid "Quantum Error updating security group %s"
msgstr "Smazat bezpeÄnostní skupinu %s"
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, fuzzy, python-format
msgid "Quantum security group %s not found"
msgstr "Smazat bezpeÄnostní skupinu %s"
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "Zachycena chyba: %s"
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
#, fuzzy
msgid "Quantum Error getting security groups"
msgstr "Smazat bezpeÄnostní skupinu %s"
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
#, fuzzy
msgid "Security group id should be uuid"
msgstr "Id bezpeÄnostní skupiny by mÄ›lo být celé Äíslo"
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "Smazat bezpeÄnostní skupinu %s"
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
#, fuzzy
msgid "Quantum Error:"
msgstr "Zachycena chyba: %s"
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, fuzzy, python-format
msgid "Quantum security group rule %s not found"
msgstr "BezpeÄnostní skupina s pravidlem %(rule_id)s nenalezena."
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, fuzzy, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
"BezpeÄnostní skupina %(security_group_id)s není nalezena v projektu "
"%(project_id)s."
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, fuzzy, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -6167,12 +6359,12 @@ msgstr "Chyba při nastavování hesla správce"
msgid "Invalid version string"
msgstr "Neplatný server_string: %s"
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6378,11 +6570,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, fuzzy, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr "Neznámý základní soubor: %s"
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr "Vyjímka DB zabalena."
@@ -6432,11 +6634,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, fuzzy, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr "Nelze naÄíst rozšíření %(classpath)s: %(exc)s"
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6876,88 +7073,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr "Běží odpovídající služba?"
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr "Nelze najít další výpoÄet"
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
-#, fuzzy, python-format
-msgid "Setting instance to %(state)s state."
-msgstr "Nastavování instance %(instance_uuid)s do stavu ERROR"
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
+#, python-format
+msgid "Setting instance to %s state."
+msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, fuzzy, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-"Nelze přesunout %(instance_id)s do %(dest)s: Nedostatek paměti "
-"(hostitel:%(avail)s <= instance:%(mem_inst)s)"
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, fuzzy, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr "Pokus o sestavení %(num_instances)d instancí"
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, fuzzy, python-format
msgid "Request Spec: %s"
msgstr "Požadavek: %s"
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, fuzzy, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr "Svazek není nalezen v instanci %(instance_id)s."
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr "Filtrováno %(hosts)s"
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, fuzzy, python-format
msgid "Weighed %(hosts)s"
msgstr "Filtrováno %(hosts)s"
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, fuzzy, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6994,36 +7186,36 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr "Obdržena aktualizace služby %(service_name)s od %(host)s."
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, fuzzy, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr "Obdržena aktualizace služby %(service_name)s od %(host)s."
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr "Žádná služba pro ID výpoÄtu %s"
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
-#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
-msgstr "Nelze naplánovat_%(method)s: %(ex)s"
-
#: nova/scheduler/scheduler_options.py:71
#, python-format
msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr "Nelze vyhodnotit soubor voleb plánovaÄe %(filename)s: '%(e)s'"
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
-msgstr "Nelze dekódovat volby plánovaÄe: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
+msgstr ""
+
+#: nova/scheduler/utils.py:57
+#, python-format
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
+msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
#, python-format
@@ -7046,7 +7238,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -7064,10 +7256,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr "VCPU nenastaveny; předpokládáno poškození sbírky CPU"
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -7115,13 +7320,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7307,7 +7517,7 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
#, fuzzy
msgid ""
@@ -7315,53 +7525,55 @@ msgid ""
"instances"
msgstr "PÅ™ekroÄena kvóta pro %(pid)s, pokus o spuÅ¡tÄ›ní %(min_count)s instancí"
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr "Spouštění instancí: %s"
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr "Po ukonÄení instancí: %s"
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr "Vnitřní chyba"
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr "Po vynuceném ukonÄení instancí: %s"
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
#, fuzzy
msgid "spawn error"
msgstr "neznámá chyby připojení hosta"
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7487,19 +7699,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr "Vytváření souborů v %s pro simulaci agenta hosta"
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr "Odstraňování souborů simulovaného agenta hosta v %s"
@@ -7509,25 +7721,25 @@ msgstr "Odstraňování souborů simulovaného agenta hosta v %s"
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, fuzzy, python-format
msgid "Loading compute driver '%s'"
msgstr "Zaznamování ovladaÄe svazku: %s"
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
#, fuzzy
msgid "Unable to load the virtualization driver"
msgstr "Nelze naÄíst ovladaÄ virtualizace: %s"
@@ -7537,7 +7749,7 @@ msgstr "Nelze naÄíst ovladaÄ virtualizace: %s"
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr "Pokus o odfiltrování instance, která není filtrována"
@@ -7560,20 +7772,20 @@ msgstr "PÅ™idávání pravidla bezpeÄnostní skupiny: %r"
msgid "Adding provider rule: %s"
msgstr "Přidávání pravidla poskytovatele: %s"
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr "zpracování 'qemu-img info' selhalo."
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr "fmt=%(fmt)s zálohováno: %(backing_file)s"
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr "Převedeno na prosté, ale formát je nyní %s"
@@ -7592,37 +7804,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, fuzzy, python-format
msgid "Destroy called on non-existing instance %s"
msgstr "Získávání seznamu instancí"
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7673,85 +7885,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "Přidělení plovoucí IP pro |%s|"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, fuzzy, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr "Stahování obrazu %s ze serveru obrazu glance"
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, fuzzy, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr "Vkládání %(injection)s do obrazu %(img_id)s"
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, fuzzy, python-format
msgid "PXE deploy started for instance %s"
msgstr "přidělování sítě pro instanci %s"
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, fuzzy, python-format
msgid "PXE deploy completed for instance %s"
msgstr "Získat výstup konzole pro instanci %s"
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, fuzzy, python-format
msgid "PXE deploy failed for instance %s"
msgstr "přidělování sítě pro instanci %s"
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, fuzzy, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr "PÅ™i Äekání na odpovÄ›Ä RPC vyprÅ¡el Äasový limit."
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "přidělování sítě pro instanci %s"
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Získat výstup konzole pro instanci %s"
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr "Uzel je v neznámém chybovém stavu."
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "Nelze najít hostitele pro instanci %s"
@@ -7839,24 +8051,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, fuzzy, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr "Nelze zjistit název zavadÄ›Äe iscsi"
@@ -7866,7 +8078,7 @@ msgstr "Nelze zjistit název zavadÄ›Äe iscsi"
msgid "No fixed PXE IP is associated to %s"
msgstr "K instanci nejsou přidruženy žádné pevné ip"
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7880,23 +8092,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-#, fuzzy
-msgid "No more PXE IPs available"
-msgstr "Žádné další plovoucí ip nejsou dostupné."
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, fuzzy, python-format
msgid "Baremetal interface %s not found"
msgstr "nenalezeny žádné oddíly"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, fuzzy, python-format
msgid "Baremetal interface %s already in use"
msgstr "Vytvoření virtuálního rozhraní selhalo"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, fuzzy, python-format
msgid "Baremetal virtual interface %s not found"
msgstr "nenalezeny žádné oddíly"
@@ -8009,12 +8216,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -8271,12 +8478,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, fuzzy, python-format
msgid "File path %s not valid"
msgstr "Vkládání cesty souboru: '%s'"
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, fuzzy, python-format
msgid "Failed to mount image %(ex)s)"
msgstr "Nelze aktualizovat agenta: %(resp)r"
@@ -8305,23 +8512,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
#, fuzzy
msgid "get_console_output called"
msgstr "Získat výstup konzole pro instanci %s"
@@ -8335,7 +8542,7 @@ msgstr "Verze agenta instance: %s"
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr "Aktualizace statistik hostitele"
@@ -8355,19 +8562,19 @@ msgstr "Uvolnit adresu %s"
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8463,17 +8670,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, fuzzy, python-format
msgid "Starting live migration for VM: %s"
msgstr "Přidělení plovoucí IP pro |%s|"
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8492,11 +8699,11 @@ msgstr "Aktualizace agenta na %s"
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8522,46 +8729,46 @@ msgstr "Instance %s: SpuÅ¡tÄ›ní dokoÄení vrácení pÅ™esunu"
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, fuzzy, python-format
msgid "Getting info for disk: %s"
msgstr "Plovoucí ip není nalezena pro id %(id)s."
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
#, fuzzy
msgid "finish_migration called"
msgstr "Instance %s: SpouÅ¡tÄ›ní dokonÄení pÅ™esunu"
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, fuzzy, python-format
msgid "Cannot find boot VHD file: %s"
msgstr "Neznámý základní soubor: %s"
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8580,12 +8787,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, fuzzy, python-format
msgid "Creating directory: %s"
msgstr "Vytváření adresáře s cestou %s"
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, fuzzy, python-format
msgid "Removing directory: %s"
msgstr "Vytváření adresáře s cestou %s"
@@ -8605,41 +8812,41 @@ msgstr "Plovoucí ip není nalezena pro id %(id)s."
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, fuzzy, python-format
msgid "Removing snapshot %s"
msgstr "Spouštění snímku ve VM %s"
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, fuzzy, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr "Nelze odstranit kontejner: %s"
@@ -8666,107 +8873,107 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
#, fuzzy
msgid "Spawning new instance"
msgstr "Spouštění instance..."
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
#, fuzzy
msgid "Spawn instance failed"
msgstr "Neznámý základní soubor: %s"
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, fuzzy, python-format
msgid "Creating nic for instance: %s"
msgstr "Vytváření snímku instance VM %s "
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, fuzzy, python-format
msgid "Using config drive for instance: %s"
msgstr "Přidělení plovoucí IP pro |%s|"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, fuzzy, python-format
msgid "Creating config drive at %(path)s"
msgstr "Vkládání cesty souboru: '%s'"
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "Vkládání cesty souboru: '%s'"
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, fuzzy, python-format
msgid "Got request to destroy instance: %s"
msgstr "Nelze zniÄit vbd %s"
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, fuzzy, python-format
msgid "Instance not found: %s"
msgstr "Instance nenalezena"
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, fuzzy, python-format
msgid "Failed to destroy instance: %s"
msgstr "Nelze zniÄit vbd %s"
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
#, fuzzy
msgid "reboot instance"
msgstr "Restartování instance %s"
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
#, fuzzy
msgid "Pause instance"
msgstr "zastavit instanci %r"
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
#, fuzzy
msgid "Unpause instance"
msgstr "zastavit instanci %r"
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
#, fuzzy
msgid "Suspend instance"
msgstr "Nelze pozastavit instanci"
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
#, fuzzy
msgid "Resume instance"
msgstr "zastavit instanci %r"
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
#, fuzzy
msgid "Power off instance"
msgstr "Instance VM %s zapnuta"
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
#, fuzzy
msgid "Power on instance"
msgstr "Instance VM %s zapnuta"
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8801,29 +9008,29 @@ msgstr "Server nenalezen"
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8835,53 +9042,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, fuzzy, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr "Připojeni svazku: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, fuzzy, python-format
msgid "Attach volume failed: %s"
msgstr "Odpojit svazek %s"
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr "Nelze připojit svazek k instanci %s"
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, fuzzy, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr "Připojeni svazku: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, fuzzy, python-format
msgid "Detaching physical disk from instance: %s"
msgstr "Vytváření snímku instance VM %s "
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr "Nelze zjistit název zavadÄ›Äe iscsi"
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, fuzzy, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr "Nelze najít hostitele pro instanci %s"
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8911,252 +9118,248 @@ msgstr "Neůze najít vbd pro vdi %s"
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Připojování k libvirt: %s"
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "skupina svazku %s neexistuje"
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr "Připojení k libvirt poškozeno"
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Připojování k libvirt: %s"
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr "Chyba od libvirt bÄ›hem niÄení. Kód=%(errcode)s Chyba=%(e)s"
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
#, fuzzy
msgid "During wait destroy, instance disappeared."
msgstr "Při spuštění wait zmizelo %s."
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr "Instance úspěšnÄ› zniÄena."
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Instance budou zastaveny"
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr "Chyba od libvirt bÄ›hem ruÅ¡ení urÄení. Kód=%(errcode)s Chyba=%(e)s"
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, fuzzy, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr "Chyba od libvirt bÄ›hem ruÅ¡ení urÄení. Kód=%(errcode)s Chyba=%(e)s"
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
-msgstr "Mazání souborů instance %(target)s"
+msgid "Deleting instance files %s"
+msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, fuzzy, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr "Nelze naplánovat_%(method)s: %(ex)s"
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
#, fuzzy
msgid "Could not determine fibre channel world wide node names"
msgstr "Nelze zjistit název zavadÄ›Äe iscsi"
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
#, fuzzy
msgid "Could not determine fibre channel world wide port names"
msgstr "Nelze zjistit název zavadÄ›Äe iscsi"
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
#, fuzzy
msgid "During detach_volume, instance disappeared."
msgstr "Při spuštění wait zmizelo %s."
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Źádné sítÄ› nejsou urÄeny."
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
#, fuzzy
msgid "During detach_interface, instance disappeared."
msgstr "Při spuštění wait zmizelo %s."
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Źádné sítÄ› nejsou urÄeny."
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "Instance úspěšně restartována."
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Nelze restartovat instanci"
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
#, fuzzy
msgid "Instance shutdown successfully."
msgstr "Instance úspěšně vytvořena."
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr "Instance úspěšně restartována."
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr "Instance je spuštěna"
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr "Instance úspěšně vytvořena."
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "data: %(data)r, fpath: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
#, fuzzy
msgid "Guest does not have a console available"
msgstr "Uživatel nemá správcovská oprávnění"
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr "Vytváření obrazu"
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, fuzzy, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr "Vkládání %(injection)s do obrazu %(img_id)s"
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, fuzzy, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr "Ignorování chyby při vkládání dat do obrazu %(img_id)s (%(e)s)"
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -9164,19 +9367,19 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
@@ -9185,32 +9388,48 @@ msgstr ""
"Chyba od libvirt při hledání %(instance_name)s: [Kód chyby "
"%(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
#, fuzzy
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
@@ -9219,25 +9438,25 @@ msgstr ""
"Nelze získat poÄet cpu, protože tato funkce není na této platformÄ› "
"zavedena. Tuto chybu lze prozatím bezpeÄnÄ› ignorovat."
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr "verze libvirt je příliš stará (nepodporuje getVersion)"
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "Získávání velikosto brazu %s"
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -9245,21 +9464,21 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, fuzzy, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
@@ -9268,16 +9487,16 @@ msgstr ""
"Vytváření doÄasného souboru %s pro informování ostatních poÄítaÄových "
"uzlů, že by se měli připojit ke stejnému úložišti."
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr "Přesunutí bloku nemůže být použito ve sdíleném úložišti."
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
#, fuzzy
msgid "Live migration can not be used without shared storage."
msgstr "Přesunutí bloku nemůže být použito ve sdíleném úložišti."
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, fuzzy, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
@@ -9286,7 +9505,7 @@ msgstr ""
"Nelze přesunout %(instance_id)s do %(dest)s: Nedostatek disku "
"(hostitel:%(available)s <= instance:%(necessary)s)"
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
@@ -9295,7 +9514,7 @@ msgstr ""
"Spuštěná instance má info o CPU:\n"
"%s"
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9310,7 +9529,7 @@ msgstr ""
"\n"
"Prohlédněte si %(u)s"
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
@@ -9319,24 +9538,24 @@ msgstr ""
"Vytváření doÄasného souboru %s pro informování ostatních poÄítaÄových "
"uzlů, že by se měli připojit ke stejnému úložišti."
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
-#, fuzzy, python-format
-msgid "Live Migration failure: %(e)s"
-msgstr "Přesun před spuštěním selhal na %(dest)s"
+#: nova/virt/libvirt/driver.py:3353
+#, python-format
+msgid "Live Migration failure: %s"
+msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, fuzzy, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
"plug_vifs() selhalo %(cnt)d.opakování až na %(max_retry)d pro "
"%(hostname)s."
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, fuzzy, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
@@ -9345,45 +9564,50 @@ msgstr ""
"Chyba od libvirt při hledání %(instance_name)s: [Kód chyby "
"%(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
#, python-format
-msgid "skipping %(path)s since it looks like volume"
-msgstr "přeskakování %(path)s protože vypadá jako svazek"
+msgid "skipping %s since it looks like volume"
+msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3609
+#, python-format
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
#, fuzzy
msgid "Starting migrate_disk_and_power_off"
msgstr "Instance %s: Spouštění přesunu disku a vypnutí"
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
#, fuzzy
msgid "Instance running successfully."
msgstr "Instance %s úspěšně běží."
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
#, fuzzy
msgid "Starting finish_migration"
msgstr "Instance %s: SpouÅ¡tÄ›ní dokonÄení pÅ™esunu"
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
#, fuzzy
msgid "Starting finish_revert_migration"
msgstr "Instance %s: SpuÅ¡tÄ›ní dokoÄení vrácení pÅ™esunu"
-#: nova/virt/libvirt/driver.py:3895
-#, fuzzy, python-format
-msgid "Checking instance files accessability%(instance_path)s"
-msgstr "Mazání souborů instance %(target)s"
+#: nova/virt/libvirt/driver.py:3982
+#, python-format
+msgid "Checking instance files accessability %s"
+msgstr ""
#: nova/virt/libvirt/firewall.py:51
msgid ""
@@ -9403,15 +9627,15 @@ msgstr "Zajišťování statických filtrů"
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
-msgstr "Nwfilter (%(instance_filter_name)s) nenalezen."
+msgid "The nwfilter(%s) is not found."
+msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr "Nwfilter (%(instance_filter_name)s) pro %(name)s nenalezen."
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr "iptables firewall: Nastavení základního filtrování"
@@ -9573,22 +9797,22 @@ msgstr "Odstranitelné základní soubory: %s"
msgid "Verification complete"
msgstr "Ověření dokonÄeno"
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9596,62 +9820,63 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, fuzzy, python-format
msgid "Unexpected vif_type=%s"
msgstr "NeoÄekávaná chyba: %s"
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr "Zajišťování vlan %(vlan)s a mostu %(bridge)s"
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr "Zajišťování mostu %s"
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
#, fuzzy
msgid "Failed while unplugging vif"
msgstr "Nelze při odpojení vif instance '%s'"
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9659,7 +9884,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9667,7 +9892,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9675,7 +9900,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9844,12 +10069,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9878,16 +10103,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr "Připojení k melange selhalo"
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9897,7 +10122,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9971,73 +10196,73 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr "Instance nenalezena"
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, fuzzy, python-format
msgid "PowerVM image creation failed: %s"
msgstr "Odstraňování základního souboru: %s"
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, fuzzy, python-format
msgid "Creating LPAR instance '%s'"
msgstr "Získávání seznamu instancí"
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, fuzzy, python-format
msgid "LPAR instance '%s' creation failed"
msgstr "instance %s: Vytváření obrazu"
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, fuzzy, python-format
msgid "Activating the LPAR instance '%s'"
msgstr "Instance budou spuštěny"
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, fuzzy, python-format
msgid "Instance '%s' failed to boot"
msgstr "instance %s: znovu zavedena"
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, fuzzy, python-format
msgid "Instance spawned in %s seconds"
msgstr "instance %s úspěšn spuštěna"
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, fuzzy, python-format
msgid "Stopping instance %s for snapshot."
msgstr "instance %s: pořizování snímku"
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, fuzzy, python-format
msgid "Shutting down the instance '%s'"
msgstr "Zapínání instance VM %s"
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, fuzzy, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr "Instance budou spuštěny"
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
#, fuzzy
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
@@ -10047,32 +10272,36 @@ msgstr ""
"Pro useconnection_type=vmwareapi musíte zadat "
"vmwareapi_host_ip,vmwareapi_host_username a vmwareapi_host_password"
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, fuzzy, python-format
msgid "VMware Cluster %s is not found"
msgstr "znaÄka [%s] nenalezena"
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr "In vmwareapi:_create_session, obdržena tato výjimka: %s"
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr "In vmwareapi:_call_method, obdržena tato výjimka: %s"
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr "Úkol [%(task_name)s] %(task_ref)s stav: úspěch"
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr "Úkol [%(task_name)s] %(task_ref)s stav: chyba %(error_info)s"
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr "In vmwareapi:_poll_task, Obdržena tato chyba %s"
@@ -10082,39 +10311,39 @@ msgstr "In vmwareapi:_poll_task, Obdržena tato chyba %s"
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr "Při volání RetrieveProperties se událo %s chyb"
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr "%(text)s: _db_content => %(content)s"
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, fuzzy, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr "Vlastnost %(attr)s nenastavena pro spravovaný objekt %(objName)s"
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr "Není registrováno žádné VM"
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr "Virtuální stroj s ref %s neexistuje"
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr "Odhlašování sezení, které je neplatné, nebo už odhlášené: %s"
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr "Sezení je chybné"
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr "Sezení je neplatné"
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
#, fuzzy
msgid "No Virtual Machine has been registered yet"
msgstr " Žádné virtuální stroje nebyly zatím registrovány"
@@ -10361,12 +10590,12 @@ msgstr "Provádění tvrdho restártu VM %s"
msgid "Did hard reboot of VM"
msgstr "Proveden tvrdý restart VM %s"
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
#, fuzzy
msgid "Destroying the VM"
msgstr "Restartování xvp"
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
#, fuzzy
msgid "Destroyed the VM"
msgstr "Registrace VM %s zrušena"
@@ -10489,109 +10718,114 @@ msgstr "Vypínání VM %s"
msgid "Powered on the VM"
msgstr "VM %s vypnuto"
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "Aktualizace postupu instance '%(instance_uuid)s' na %(progress)d"
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Mazání svazku s ID: %s "
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
#, fuzzy
msgid "instance not present"
msgstr "instance - %s není přítomno"
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, fuzzy, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr "Ve vmwareapi:vmops:destroy, obdržena výjimka při rušení registrace VM: %s"
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Mazání svazku s ID: %s "
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Vytvořit svazek ze snímku %s"
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
"Nalezeno %(instance_count)d zaseknutých restartování starších než "
"%(timeout)d vteřin"
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, fuzzy, python-format
msgid "Automatically hard rebooting %d"
msgstr "Automatický tvrdý restart %d"
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr "get_diagnostics není zavedeno pro vmwareapi"
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
#, fuzzy
msgid "Reconfiguring VM instance to set the machine id"
msgstr "Znovu nastavování instance VM %s pro připojení obrazu disku"
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
#, fuzzy
msgid "Reconfigured VM instance to set the machine id"
msgstr "Instance VM %s znovu nastavena pro připojení obrazu disku"
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, fuzzy, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
"Znovu nastavování instance VM %(name)s pro úpravu id stroje s ip - "
"%(ip_addr)s"
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, fuzzy, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
"Instance VM %(name)s znovu nastavena pro úpravu id stroje s ip - "
"%(ip_addr)s"
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr "Vytváření adresáře s cestou %s"
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr "Vytvořen adresář s cestou %s"
@@ -10636,7 +10870,7 @@ msgstr "Znovu skenování SR %s"
msgid "Rescanned HBA %s "
msgstr "Znovu skenování SR %s"
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr "Bod připojení nelze přeložit: %s"
@@ -10714,14 +10948,14 @@ msgstr "Nelze najít svazek v db"
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr "Bod připojení %(mountpoint)s odpojen od instance %(instance_name)s"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, fuzzy, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
"ÄŒASOVà LIMIT: VyprÅ¡el Äas volání %(method)s. VM id=%(instance_uuid)s; "
"arg=%(args)r"
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, fuzzy, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
@@ -10730,74 +10964,55 @@ msgstr ""
"NEZAVEDENO: Volání %(method)s není agentem podporováno. VM "
"id=%(instance_uuid)s; arg=%(args)r"
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, fuzzy, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr "Volání %(method)s vrátilo chybu: %(e)s."
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr "Dotaz na verzi agenta"
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "Aktualizace agenta na %s"
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr "Nastavování správcovského hesla"
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, fuzzy, python-format
msgid "Injecting file path: %r"
msgstr "Vkládání cesty souboru: '%s'"
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr "Reset sítě"
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
@@ -10805,7 +11020,7 @@ msgstr ""
"Nástroje XenServer instalované v tomto obrazu jsou schopné vložit sítě. "
"Síťové soubory nebudou změněny"
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
@@ -10813,15 +11028,15 @@ msgstr ""
"Nástroje XenServer jsou v tomto obrazu přítomny, ale nejsou schopny "
"vložit síť"
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr "Nástroje XenServer nejsou v tomto obrazu nainstalovány"
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr "Chyba OpenSSL: %s"
@@ -10840,54 +11055,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, fuzzy, python-format
msgid "Could not determine key: %s"
msgstr "Nelze deÅ¡ifrovat soukromý klíÄ: %s"
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr "Spuštění hostitele na XenServer není podporováno."
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr "Nelze se přihlásit do XenAPI (je disk Dom0 plný?)"
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr "Obdržena výjimka: %s"
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr "Oznamování NotImplemented"
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr "xenapi.fake nemá zavedeno %s"
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr "Volání pro získání %s"
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "Volání pro získání %s"
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -11154,29 +11369,29 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, fuzzy, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
"Velkost %(size_bytes) obrazu pÅ™ekraÄuje povolenou velikost "
"%(allowed_size_bytes)d typu instance"
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, fuzzy, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr "Získávání obrazu %(image)s"
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, fuzzy, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr "Velikost obrazu %(image)s:%(virtual_size)d"
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
@@ -11185,64 +11400,64 @@ msgstr ""
"Obraz Kernel/Ramdisk je příliš velký: %(vdi_size)d bajtů, max "
"%(max_size)d bajtů"
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr "Kopírování VDI %s do /boot/guest na dom0"
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Kernel/Ramdisk VDI %s zniÄeno"
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
#, fuzzy
msgid "Failed to fetch glance image"
msgstr "instance %s: nelze získat obraz glance"
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr "Zjištěn formát %(image_type_str)s obrazu %(image_ref)s"
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "Hledání vdi %s pro kernel PV"
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr "VDI %s je stále dostupné"
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr "Znovu skenování SR %s"
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr "Příznak sr_matching_filter '%s' se neřídí pravidly formátování"
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
@@ -11251,50 +11466,50 @@ msgstr ""
"XenAPI nelze najít úložiště na které nainstalovat instance hostů. Prosím "
"zkontrolujte Vaše nastavení a/nebo nastavte příznak 'sr_matching_filter'"
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr "Nelze najít SR typu obsahu ISO"
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr "ISO: není obsah iso"
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr "ISO: typ obsahu iso, není klÃ­Ä 'i18n-key'"
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr "ISO: typ obsahu iso, hodnota i18n-key není 'local-storage-iso'"
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr "ISO: SR odpovídající naším kritériím"
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr "ISO: ISO, prozkoumáváno, zdali se jedná o místního hostitele"
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr "ISO: shoda PBD, požadováno %(pbd_rec)s, získáno %(host)s"
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr "ISO: SR s místním PBD"
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
@@ -11303,22 +11518,22 @@ msgstr ""
"Nelze získat RRD XML pro VM %(vm_uuid)s mající podrobnosti serveru: "
"%(server)s."
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr "Neznámá data statistik od Xenserver: %s"
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, fuzzy, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr "VHD %(vdi_uuid)s má nadřazenho %(parent_ref)s"
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
@@ -11327,66 +11542,66 @@ msgstr ""
"Nadřazený %(parent_uuid)s se neshoduje s původním nadřazeným "
"%(original_parent_uuid)s, Äekání na splynutí..."
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr "VyprÅ¡el Äasový limit pÅ™i Äekání na vytvoÅ™ení zařízení %s"
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr "Zapojování VBD %s ... "
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr "Zapojování VBD %s hotovo."
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr "VBD %(vbd_ref)s zapojeno jako %(orig_dev)s"
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr "VBD %(vbd_ref)s zapojeno do špatného dev, znovu mapování do %(dev)s"
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "NiÄení VBD pro VDI %s ... "
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr "NiÄení VBD pro VDI %s hotovo."
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr "Spouštění pygrub s %s"
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr "Nalezen kernel Xen %s"
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr "Žádný kernel Xen nenalezen. Zavádění HVM."
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -11394,16 +11609,16 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr "Oddíly:"
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr " %(num)s: %(ptype)s %(size)d sektorů"
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
@@ -11412,42 +11627,42 @@ msgstr ""
"Zapisování tabulky oddílů %(primary_first)d %(primary_last)d do "
"%(dev_path)s..."
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr "Zapisování tabulky oddílů %s dokonÄeno."
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr "Přímé zacházení se soubory rozhraní"
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr "Nelze pÅ™ipojit souborový systém (oÄekáváno v nelinuxových instancích): %s"
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11737,11 +11952,16 @@ msgstr "Nelze zavést VDI pro SR %s"
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11775,32 +11995,32 @@ msgstr "Neznámý základní soubor: %s"
msgid "Error in handshake: %s"
msgstr "Chyba při zahájení komunikace: %s"
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr "Neplatný požadavek: %s"
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr "Požadavek: %s"
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr "Proveden požadavek s chybějící známkou: %s"
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr "Proveden požadavek s neplatnou známkou: %s"
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr "NeoÄekávaná chyba: %s"
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr "Spouštění uzlu nova-xvpvncproxy (verze %s)"
@@ -11820,236 +12040,19 @@ msgstr "stav musí být dostupný"
msgid "status must be 'available'"
msgstr "stav musí být dostupný"
-#~ msgid "Quota for %s should be integer."
-#~ msgstr "verze by mÄ›la být celé Äíslo"
-
-#~ msgid "Unknown action"
-#~ msgstr "Neznámý řetěz: %r"
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr "Neplatná instance typu %(instance_type)s."
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr "Nelze znovu sestavit instanci [%(instance_uuid)s]: %(exc)s"
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-#~ "pokus o vsunutí souboru do nespuštěné"
-#~ " instance: %(instance_uuid)s (stav: "
-#~ "%(current_power_state)s oÄekáváno: %(expected_state)s)"
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr "Vkládání cesty souboru: '%s'"
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr "Síť %(network_id)s nemohla být nalezena."
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr "Hostitel %(host)s nemohl být nalezen."
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr "Přesun před spuštěním selhal na %(dest)s"
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr "PÅ™esun instance do %(dest)s úspěšnÄ› dokonÄen."
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr "Instance %(instance_id)s nenalezena"
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-#~ "Zjištěna instance se jmenovkou "
-#~ "'%(name_label)s', která je oznaÄena jako "
-#~ "SMAZÃNA, ale stále je přítomna na "
-#~ "hostiteli."
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-#~ "NiÄení instance se jmenovkou '%(name_label)s',"
-#~ " která je oznaÄena jako SMAZÃNA, ale"
-#~ " stále je přítomna na hostiteli."
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
-#~ msgstr ""
-#~ "Nerozpoznaná hodnota '%(action)s' pro "
-#~ "FLAGS.running_deleted_instance_action"
-
-#~ msgid "List of domains returned by libVirt: %s"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-#~ "Volání %(method)s agentem vrátilo neplatnou"
-#~ " odpovÄ›Ä: %(ret)r. VM id=%(instance_uuid)s; "
-#~ "cesta=%(path)s; arg=%(addl_args)r"
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr "Nelze se dotázat na verzi agenta: %(resp)r"
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr "Nelze aktualizovat agenta: %(resp)r"
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr "Nelze vymÄ›nit klíÄe: %(resp)r"
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr "Nelze aktualizovat heslo: %(resp)r"
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr "Nelze vložit soubor: %(resp)r"
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr "Nelze vložit soubor: %(resp)r"
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr "Volání %(localname)s %(impl)s"
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr "Nelze najít hostitele pro instanci %s"
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr "Nelze vložit soubor: %(resp)r"
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr "Nelze použít globální roli %(role_id)s"
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-#~ "PIF %(pif_rec['uuid'])s pro síť %(bridge)s "
-#~ "má id VLAN %(pif_vlan)d. OÄekáváno "
-#~ "%(vlan_num)d"
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr "Nenalezeno žádné hlavní VDI pro %(vm_ref)s"
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-#~ "Rychlé kopírování je podporováno pouze "
-#~ "na výchozím místním SR typu ext. "
-#~ "SR na tomto systému je typu "
-#~ "%(sr_type)s. Ignorování příznaku cow."
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr "Žádání xapi o získání obrazu vhd %(image)s"
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr "Neznámý formát obrazu %(disk_image_type)s"
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr "ISO: hledání SR %(sr_rec)s"
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr "ISO: PBD %(pbd_ref)s zmizelo"
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr "Nelze získat aktualizace RRD XML s podrobnostmi serveru: %(server)s."
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr "PÅ™ekroÄeny pokusy o splynutí VHD (%(max_attempts)d), pÅ™eruÅ¡eno..."
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr "Aktualizace postupu instance '%(instance_uuid)s' na %(progress)d"
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr "vytváření VIF pro VM %(vm_ref)s, síť %(network_ref)s."
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr "Vytváření SR %s"
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr "Zavádění SR %s"
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr "Nelze získat informace o cíli %(data)s, %(mountpoint)s"
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr "Nelze získat informace o cíli %(data)s, %(mountpoint)s"
-
-#~ msgid "Connect_volume: %(connection_info)s"
-#~ msgstr ""
-#~ "Připojeni svazku: %(connection_info)s, "
-#~ "%(instance_name)s, %(mountpoint)s"
-
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
-#~ msgstr "Instance %(instance_id)s nemohla být nastavena."
-
diff --git a/nova/locale/da/LC_MESSAGES/nova.po b/nova/locale/da/LC_MESSAGES/nova.po
index 1da2abb3b..65d2efab3 100644
--- a/nova/locale/da/LC_MESSAGES/nova.po
+++ b/nova/locale/da/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2011-01-15 21:46+0000\n"
"Last-Translator: Soren Hansen <soren@linux2go.dk>\n"
"Language-Team: Danish <da@li.org>\n"
@@ -79,298 +79,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -378,85 +378,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -464,896 +464,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1368,15 +1389,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1398,17 +1419,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1441,120 +1462,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1568,7 +1599,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1714,261 +1745,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2138,89 +2164,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2268,6 +2312,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2314,21 +2359,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2336,6 +2384,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2360,6 +2410,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2373,14 +2424,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2397,6 +2448,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2413,273 +2465,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2720,6 +2776,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2759,6 +2816,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2851,36 +2909,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2920,32 +2987,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2956,40 +3023,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3023,7 +3097,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3071,7 +3145,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3262,30 +3336,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3297,7 +3377,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3314,16 +3394,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3347,7 +3427,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3406,12 +3486,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3430,152 +3515,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3587,7 +3685,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3620,35 +3718,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3669,312 +3816,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3988,244 +4135,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4289,12 +4436,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4315,653 +4462,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5061,11 +5232,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5081,15 +5252,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5168,7 +5358,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5190,44 +5380,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5258,43 +5448,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5323,47 +5513,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5569,42 +5759,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5724,13 +5914,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5765,151 +5955,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5930,12 +6121,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6138,11 +6329,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6192,11 +6393,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6621,86 +6817,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6735,35 +6928,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6787,7 +6980,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6805,10 +6998,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6856,13 +7062,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7047,59 +7258,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7219,19 +7432,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7241,25 +7454,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7268,7 +7481,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7290,20 +7503,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7322,37 +7535,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7400,85 +7613,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7563,24 +7776,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7590,7 +7803,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7604,22 +7817,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7732,12 +7941,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7990,12 +8199,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8024,23 +8233,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8053,7 +8262,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8072,19 +8281,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8173,17 +8382,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8202,11 +8411,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8230,45 +8439,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8287,12 +8496,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8312,41 +8521,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8372,98 +8581,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8497,29 +8706,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8531,53 +8740,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8607,241 +8816,237 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "bind %s: slettet"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8849,75 +9054,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8925,50 +9146,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8978,69 +9199,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9059,15 +9285,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9221,22 +9447,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9244,61 +9470,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9306,7 +9533,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9314,7 +9541,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9322,7 +9549,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9482,12 +9709,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9514,16 +9741,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9533,7 +9760,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9606,105 +9833,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9714,39 +9945,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9958,11 +10189,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10067,100 +10298,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10205,7 +10441,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10281,106 +10517,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10396,54 +10613,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10703,228 +10920,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10932,58 +11149,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11249,11 +11466,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11287,32 +11509,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11330,212 +11552,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/de/LC_MESSAGES/nova.po b/nova/locale/de/LC_MESSAGES/nova.po
index 2561d267f..411b3facf 100644
--- a/nova/locale/de/LC_MESSAGES/nova.po
+++ b/nova/locale/de/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2011-08-23 11:23+0000\n"
"Last-Translator: Thierry Carrez <thierry.carrez+lp@gmail.com>\n"
"Language-Team: German <de@li.org>\n"
@@ -79,298 +79,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, fuzzy, python-format
msgid "Not authorized for image %(image_id)s."
msgstr "keine Methode für diese Nachricht gefunden: %s"
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -378,86 +378,86 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
#, fuzzy
msgid "Constraint not met."
msgstr "Instanz %s: Rettung"
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "Einhängepunkt%(mountpoint)s zur Instanze %(instance_name)s hinzugefügt"
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "keine Methode für diese Nachricht gefunden: %s"
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "keine Methode für diese Nachricht gefunden: %s"
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "Einhängepunkt%(mountpoint)s zur Instanze %(instance_name)s hinzugefügt"
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "Einhängepunkt%(mountpoint)s zur Instanze %(instance_name)s hinzugefügt"
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, fuzzy, python-format
msgid "Unable to find cert_file : %s"
msgstr "Nicht möglich volume %s zufinden"
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, fuzzy, python-format
msgid "Unable to find ca_file : %s"
msgstr "Nicht möglich volume %s zufinden"
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, fuzzy, python-format
msgid "Unable to find key_file : %s"
msgstr "Nicht möglich volume %s zufinden"
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1715,262 +1746,257 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
#, fuzzy
msgid "Only instances implemented"
msgstr "Instanz %s: Rettung"
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2140,89 +2166,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2270,6 +2314,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2316,21 +2361,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2338,6 +2386,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2362,6 +2412,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2375,14 +2426,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2399,6 +2450,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2415,274 +2467,278 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
#, fuzzy
msgid "Invalid instance image."
msgstr "Instanz %s: Rettung"
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2723,6 +2779,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2762,6 +2819,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2855,36 +2913,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, fuzzy, python-format
msgid "Cell %(id)s not found."
msgstr "Instanz %s pausiert"
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2925,32 +2992,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2961,40 +3028,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "Instanz %s pausiert"
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3029,7 +3103,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3077,7 +3151,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3268,30 +3342,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3303,7 +3383,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3320,16 +3400,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3353,7 +3433,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3412,12 +3492,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3436,153 +3521,166 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, fuzzy, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr "keine Methode für diese Nachricht gefunden: %s"
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, fuzzy, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr "keine Methode für diese Nachricht gefunden: %s"
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Einhängepunkt%(mountpoint)s zur Instanze %(instance_name)s hinzugefügt"
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
#, fuzzy
msgid "Got update to delete instance"
msgstr "Einhängepunkt%(mountpoint)s zur Instanze %(instance_name)s hinzugefügt"
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3594,7 +3692,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3627,35 +3725,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr "Nicht möglich volume %s zufinden"
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3676,313 +3823,313 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "Instanz %s: Rettung"
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3996,245 +4143,245 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Nicht möglich volume %s zufinden"
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Nicht möglich volume %s zufinden"
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4298,12 +4445,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4324,660 +4471,684 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Volume %s: erstelle Export"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
#, fuzzy
msgid "Failed to resume instance"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
#, fuzzy
msgid "instance snapshotting"
msgstr "Instanz %s: Rettung"
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
#, fuzzy
msgid "Instance has no source host"
msgstr "Instanz %s: Rettung"
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "Nicht möglich volume %s zufinden"
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "Instanz %s: Rettung"
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5077,11 +5248,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5097,15 +5268,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5184,7 +5374,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5206,44 +5396,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5274,43 +5464,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5339,47 +5529,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5585,42 +5775,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5740,13 +5930,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5781,152 +5971,153 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
#, fuzzy
msgid "Port not found"
msgstr "Instanz %s pausiert"
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5947,12 +6138,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6156,11 +6347,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6210,11 +6411,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6639,86 +6835,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, fuzzy, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr "Einhängepunkt%(mountpoint)s zur Instanze %(instance_name)s hinzugefügt"
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6753,35 +6946,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6805,7 +6998,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6823,10 +7016,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6874,13 +7080,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7065,59 +7276,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7237,19 +7450,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7259,25 +7472,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7286,7 +7499,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7308,20 +7521,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7340,37 +7553,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7423,85 +7636,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, fuzzy, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, fuzzy, python-format
msgid "PXE deploy started for instance %s"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7586,24 +7799,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7613,7 +7826,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7627,22 +7840,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, fuzzy, python-format
msgid "Baremetal interface %s not found"
msgstr "Instanz %s pausiert"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7755,12 +7964,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -8013,12 +8222,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, fuzzy, python-format
msgid "Failed to mount image %(ex)s)"
msgstr "Nicht möglich volume %s zufinden"
@@ -8047,23 +8256,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8076,7 +8285,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8095,19 +8304,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8196,17 +8405,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8225,11 +8434,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8253,45 +8462,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, fuzzy, python-format
msgid "Getting info for disk: %s"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8310,12 +8519,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8335,41 +8544,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8395,99 +8604,99 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, fuzzy, python-format
msgid "Creating nic for instance: %s"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, fuzzy, python-format
msgid "Using config drive for instance: %s"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, fuzzy, python-format
msgid "Got request to destroy instance: %s"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, fuzzy, python-format
msgid "Instance not found: %s"
msgstr "Instanz %s pausiert"
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, fuzzy, python-format
msgid "Failed to destroy instance: %s"
msgstr "Volume %s: erstelle Export"
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
#, fuzzy
msgid "reboot instance"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8522,29 +8731,29 @@ msgstr "Instanz %s pausiert"
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8556,53 +8765,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, fuzzy, python-format
msgid "Attach volume failed: %s"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, fuzzy, python-format
msgid "Detaching physical disk from instance: %s"
msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8632,241 +8841,237 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "Volume %s: erfolgreich erstellt"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8874,75 +9079,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8950,50 +9171,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9003,69 +9224,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9084,15 +9310,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9246,22 +9472,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9269,61 +9495,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9331,7 +9558,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9339,7 +9566,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9347,7 +9574,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9507,12 +9734,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9539,16 +9766,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9558,7 +9785,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9631,105 +9858,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr "Instanz %s pausiert"
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, fuzzy, python-format
msgid "Stopping instance %s for snapshot."
msgstr "Instanz %s: Rettung"
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9739,39 +9970,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9983,11 +10214,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10092,101 +10323,106 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
#, fuzzy
msgid "instance not present"
msgstr "Instanz %s: Rettung"
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Nicht möglich volume %s zufinden"
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10231,7 +10467,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10309,106 +10545,87 @@ msgstr "Nicht möglich volume %s zufinden"
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10424,54 +10641,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10731,228 +10948,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, fuzzy, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr "keine Methode für diese Nachricht gefunden: %s"
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10960,58 +11177,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11279,11 +11496,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11317,32 +11539,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11360,212 +11582,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "No node specified, defaulting to %(node)s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr "Nicht möglich Volumen zur Instanze %s hinzuzufügen"
-
#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr "Instanz %s pausiert"
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
-#~ msgstr ""
-
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/en_AU/LC_MESSAGES/nova.po b/nova/locale/en_AU/LC_MESSAGES/nova.po
index 7b7678563..57ea6c664 100644
--- a/nova/locale/en_AU/LC_MESSAGES/nova.po
+++ b/nova/locale/en_AU/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2011-10-21 11:27+0000\n"
"Last-Translator: Tom Fifield <Unknown>\n"
"Language-Team: English (Australia) <en_AU@li.org>\n"
@@ -80,301 +80,301 @@ msgstr "Going to start terminating instances"
msgid "Flags path: %s"
msgstr "Flags path: %s"
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, fuzzy, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr "Failed to get metadata for ip: %s"
-#: nova/exception.py:167
+#: nova/exception.py:169
#, fuzzy, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr "Failed to decrypt private key: %s"
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, fuzzy, python-format
msgid "Image %(image_id)s is not active."
msgstr "instance %s: booted"
-#: nova/exception.py:202
+#: nova/exception.py:204
#, fuzzy, python-format
msgid "Not authorized for image %(image_id)s."
msgstr "no method for message: %s"
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
#, fuzzy
msgid "Invalid metadata size"
msgstr "Invalid signature for user %s"
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "instance %s: booted"
-#: nova/exception.py:327
+#: nova/exception.py:329
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "instance %s: booted"
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Failed to get metadata for ip: %s"
-#: nova/exception.py:339
+#: nova/exception.py:341
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "Going to start terminating instances"
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
#, fuzzy
msgid "Failed to terminate instance"
msgstr "Going to start terminating instances"
-#: nova/exception.py:355
+#: nova/exception.py:357
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Going to start terminating instances"
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -382,86 +382,86 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
#, fuzzy
msgid "Constraint not met."
msgstr "instance %s: rescued"
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -469,897 +469,918 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "setting network host"
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "Mountpoint %(mountpoint)s attached to instance %(instance_name)s"
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr "instance %(instance_name)s: deleting instance files %(target)s"
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, fuzzy, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr "Associate address %(public_ip)s to instance %(instance_id)s"
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, fuzzy, python-format
msgid "Floating ip %(address)s already exists."
msgstr "group %s already exists"
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
#, fuzzy
msgid "Floating ip pool not found."
msgstr "setting network host"
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "volume group %s doesn't exist"
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, fuzzy, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr "Going to start terminating instances"
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, fuzzy, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr "group %s already exists"
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, fuzzy, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr "group %s already exists"
-#: nova/exception.py:921
+#: nova/exception.py:923
#, fuzzy, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr "group %s already exists"
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "instance %s: booted"
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "Could not attach image to loopback: %s"
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "Could not attach image to loopback: %s"
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Going to try to terminate %s"
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "Going to try to terminate %s"
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, fuzzy, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "instance %s: booted"
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "instance %s: booted"
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "group %s already exists"
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1374,15 +1395,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Failed to get metadata for ip: %s"
@@ -1405,17 +1426,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1448,120 +1469,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr "debug in callback: %s"
-#: nova/utils.py:334
+#: nova/utils.py:362
+#, python-format
+msgid "Couldn't get IPv4 : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:379
+#, python-format
+msgid "IPv4 address is not found.: %s"
+msgstr ""
+
+#: nova/utils.py:382
+#, python-format
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:397
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "Link Local address is not found.:%s"
-#: nova/utils.py:337
+#: nova/utils.py:400
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr "Couldn't get Link Local IP of %(interface)s :%(ex)s"
-#: nova/utils.py:376
+#: nova/utils.py:439
#, python-format
msgid "Invalid backend: %s"
msgstr "Invalid backend: %s"
-#: nova/utils.py:437
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, fuzzy, python-format
msgid "Unable to find cert_file : %s"
msgstr "Unable to find SR from VBD %s"
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, fuzzy, python-format
msgid "Unable to find ca_file : %s"
msgstr "Unable to find SR from VBD %s"
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, fuzzy, python-format
msgid "Unable to find key_file : %s"
msgstr "Unable to find SR from VBD %s"
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr "You must implement __call__"
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1575,7 +1606,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1724,265 +1755,260 @@ msgstr "An unknown error has occurred. Please try your request again."
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr "Unsupported API request: controller = %(controller)s, action = %(action)s"
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, fuzzy, python-format
msgid "Could not find key pair(s): %s"
msgstr "Failed to decrypt private key: %s"
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr "Create key pair %s"
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr "Delete key pair %s"
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, fuzzy, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr "Not enough parameters to build a valid rule."
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr "No rule for the specified parameters."
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, fuzzy, python-format
msgid "%s - This rule already exists in group"
msgstr "This rule already exists in group %s"
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr "Get console output for instance %s"
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr "Create volume of %s GB"
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "Detach volume %s"
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
#, fuzzy
msgid "Detach Volume Failed."
msgstr "Detach volume %s"
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr "attribute not supported: %s"
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr "Allocate address"
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr "Release address %s"
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr "Associate address %(public_ip)s to instance %(instance_id)s"
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
#, fuzzy
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Disassociate address %s"
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
#, fuzzy
msgid "Error, unable to associate floating ip."
msgstr "Disassociate address %s"
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr "Disassociate address %s"
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr "Going to start terminating instances"
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr "Reboot instance %r"
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr "De-registering image %s"
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr "Registered image %(image_location)s with id %(image_id)s"
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr "user or group not specified"
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr "only group \"all\" is supported"
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr "operation_type must be add or remove"
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr "Updating image %s publicity"
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
#, fuzzy
msgid "Only instances implemented"
msgstr "instance %s: rescued"
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2152,89 +2178,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2282,6 +2326,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2328,21 +2373,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, fuzzy, python-format
msgid "Invalid is_public filter [%s]"
msgstr "Invalid signature for user %s"
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, fuzzy, python-format
msgid "Invalid minRam filter [%s]"
msgstr "Invalid signature for user %s"
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2350,6 +2398,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2374,6 +2424,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2387,14 +2438,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2411,6 +2462,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2428,278 +2480,282 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
#, fuzzy
msgid "HostId cannot be updated."
msgstr "Mountpoint cannot be translated: %s"
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
#, fuzzy
msgid "Personality cannot be updated."
msgstr "Mountpoint cannot be translated: %s"
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
#, fuzzy
msgid "Image that the instance was started with could not be found."
msgstr "instance %s: booted"
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
#, fuzzy
msgid "Invalid instance image."
msgstr "instance %s: rescued"
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
#, fuzzy
msgid "Unable to set password on instance"
msgstr "Going to start terminating instances"
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2740,6 +2796,7 @@ msgstr "Compute.api::reset_network %s"
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2779,6 +2836,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2874,36 +2932,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, fuzzy, python-format
msgid "Cell %(id)s not found."
msgstr "instance %s: booted"
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2945,33 +3012,33 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
#, fuzzy
msgid "Coverage not running"
msgstr "xvp not running..."
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2982,40 +3049,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "setting network host"
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3050,7 +3124,7 @@ msgstr "group %s already exists"
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3099,7 +3173,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr "Associate address %(public_ip)s to instance %(instance_id)s"
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3293,30 +3367,36 @@ msgid "Create networks failed"
msgstr "setting network host"
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3328,7 +3408,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr "Not enough parameters to build a valid rule."
@@ -3346,16 +3426,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3381,7 +3461,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3440,12 +3520,17 @@ msgstr "Got exception: %s"
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, fuzzy, python-format
msgid "Reserving IP address %s"
msgstr "Release address %s"
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, fuzzy, python-format
msgid "Unreserving IP address %s"
msgstr "Release address %s"
@@ -3464,153 +3549,166 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, fuzzy, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr "no method for message: %s"
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, fuzzy, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr "no method for message: %s"
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Going to start terminating instances"
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
#, fuzzy
msgid "Got update to delete instance"
msgstr "Going to start terminating instances"
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "Associate address %(public_ip)s to instance %(instance_id)s"
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3622,7 +3720,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3655,35 +3753,84 @@ msgstr "Launching VPN for %s"
msgid "Failed to load %s"
msgstr "Unable to locate volume %s"
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3704,320 +3851,320 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "received %s"
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, fuzzy, python-format
msgid "error: %s"
msgstr "Caught error: %s"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "setting network host"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "start address"
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "group %s already exists"
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr "start address"
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "setting network host"
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "Reboot instance %r"
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "Unexpected error raised: %s"
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "instance %s: rescued"
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Caught error: %s"
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "Caught error: %s"
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -4031,253 +4178,253 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
#, fuzzy
msgid "Cannot run any more instances of this type."
msgstr "Instance quota exceeded. You can only run %s more instances of this type."
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, fuzzy, python-format
msgid "Can only run %s more instances of this type."
msgstr "Instance quota exceeded. You can only run %s more instances of this type."
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Unable to attach volume to instance %s"
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr "Going to run %s instances..."
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
#, fuzzy
msgid "instance termination disabled"
msgstr "Going to start terminating instances"
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "instance %s: booted"
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "Going to start terminating instances"
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
#, fuzzy
msgid "Going to try to soft delete instance"
msgstr "Going to try to terminate %s"
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
#, fuzzy
msgid "Going to try to terminate instance"
msgstr "Going to try to terminate %s"
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
#, fuzzy
msgid "Going to try to stop instance"
msgstr "Going to try to terminate %s"
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
#, fuzzy
msgid "Going to try to start instance"
msgstr "Going to try to terminate %s"
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, fuzzy, python-format
msgid "snapshot for %s"
msgstr "Starting snapshot for VM %s"
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, fuzzy, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "Going to try to terminate %s"
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr "Create Security Group %s"
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Unable to destroy VBD %s"
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Unable to destroy VBD %s"
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
#, fuzzy
msgid "Security group is still in use"
msgstr "Revoke security group ingress %s"
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr "Delete security group %s"
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr "Authorise security group ingress %s"
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr "Revoke security group ingress %s"
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4342,12 +4489,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4368,674 +4515,698 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Going to start terminating instances"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
#, fuzzy
msgid "Failed to resume instance"
msgstr "Going to start terminating instances"
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "Unexpected error raised: %s"
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
#, fuzzy
msgid "Failed to dealloc network for deleted instance"
msgstr "Going to try to terminate %s"
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, fuzzy, python-format
msgid "Error: %s"
msgstr "Caught error: %s"
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
#, fuzzy
msgid "Allocating IP information in the background."
msgstr "setting network host"
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Going to try to terminate %s"
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
#, fuzzy
msgid "Rebuilding instance"
msgstr "Rebooting instance %s"
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Detach volume %s"
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
#, fuzzy
msgid "Rebooting instance"
msgstr "Rebooting instance %s"
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
#, fuzzy
msgid "Instance disappeared during reboot"
msgstr "instance %s: rebooted"
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
#, fuzzy
msgid "instance snapshotting"
msgstr "instance %s: snapshotting"
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Going to start terminating instances"
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "Caught error: %s"
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
#, fuzzy
msgid "Unrescuing"
msgstr "instance %s: unrescuing"
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
#, fuzzy
msgid "Instance has no source host"
msgstr "instance %s: snapshotting"
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "instance %s: retrieving diagnostics"
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
#, fuzzy
msgid "Reset network"
msgstr "setting network host"
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
#, fuzzy
msgid "Inject network info"
msgstr "setting network host"
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
#, fuzzy
msgid "Get console output"
msgstr "Get console output for instance %s"
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
#, fuzzy
msgid "Getting vnc console"
msgstr "Adding console"
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
#, fuzzy
msgid "Getting spice console"
msgstr "Adding console"
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, fuzzy, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "Detaching volume from unknown instance %s"
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Failed to get metadata for ip: %s"
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Deleting user %s"
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "instance %s: booted"
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Deleting user %s"
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5135,11 +5306,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5155,15 +5326,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr "Adding console"
@@ -5243,7 +5433,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5265,44 +5455,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, fuzzy, python-format
msgid "Invalid floating ip id %s in request"
msgstr "instance %s: rescued"
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, fuzzy, python-format
msgid "Invalid floating IP %s in request"
msgstr "instance %s: rescued"
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, fuzzy, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr "instance %s: rescued"
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, fuzzy, python-format
msgid "Invalid virtual interface address %s in request"
msgstr "instance %s: rescued"
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "instance %s: rescued"
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5333,43 +5523,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5398,47 +5588,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr "Failed to decrypt private key: %s"
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr "Failed to decrypt initialisation vector: %s"
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr "Failed to decrypt image file %(image_file)s: %(err)s"
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5645,42 +5835,42 @@ msgstr "killing radvd threw %s"
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d is stale, relaunching radvd"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "Invalid backend: %s"
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr "Starting VLAN interface %s"
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "Starting Bridge interface for %s"
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "Failed to decrypt private key: %s"
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "Starting Bridge interface for %s"
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, fuzzy, python-format
msgid "Done starting bridge %s"
msgstr "Error starting xvp: %s"
@@ -5800,7 +5990,7 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
@@ -5808,7 +5998,7 @@ msgstr ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5844,155 +6034,156 @@ msgstr "received %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, fuzzy, python-format
msgid "empty project id for instance %s"
msgstr "Get console output for instance %s"
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
#, fuzzy
msgid "Port not found"
msgstr "instance %s: booted"
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, fuzzy, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr "setting network host"
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, fuzzy, python-format
msgid "Quantum Error creating security group %s"
msgstr "Delete security group %s"
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, fuzzy, python-format
msgid "Quantum Error updating security group %s"
msgstr "Delete security group %s"
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, fuzzy, python-format
msgid "Quantum security group %s not found"
msgstr "Delete security group %s"
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "Caught error: %s"
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
#, fuzzy
msgid "Quantum Error getting security groups"
msgstr "Delete security group %s"
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
#, fuzzy
msgid "Security group id should be uuid"
msgstr "Revoke security group ingress %s"
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "Delete security group %s"
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
#, fuzzy
msgid "Quantum Error:"
msgstr "Caught error: %s"
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, fuzzy, python-format
msgid "Quantum security group rule %s not found"
msgstr "Authorise security group ingress %s"
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -6013,12 +6204,12 @@ msgstr "Error starting xvp: %s"
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6221,11 +6412,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6275,11 +6476,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6709,86 +6905,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, fuzzy, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr "Going to start terminating instances"
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6823,35 +7016,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6875,7 +7068,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6893,10 +7086,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6944,13 +7150,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7135,59 +7346,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr "Running instances: %s"
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr "After terminating instances: %s"
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7308,19 +7521,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7330,25 +7543,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7357,7 +7570,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7379,20 +7592,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7411,37 +7624,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, fuzzy, python-format
msgid "Destroy called on non-existing instance %s"
msgstr "Get console output for instance %s"
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7494,85 +7707,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "Going to start terminating instances"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, fuzzy, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr "Going to start terminating instances"
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, fuzzy, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr "Injecting file path: '%s'"
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, fuzzy, python-format
msgid "PXE deploy started for instance %s"
msgstr "Get console output for instance %s"
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, fuzzy, python-format
msgid "PXE deploy completed for instance %s"
msgstr "Get console output for instance %s"
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, fuzzy, python-format
msgid "PXE deploy failed for instance %s"
msgstr "Get console output for instance %s"
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "Get console output for instance %s"
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Get console output for instance %s"
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "Get console output for instance %s"
@@ -7657,24 +7870,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7684,7 +7897,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7698,22 +7911,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, fuzzy, python-format
msgid "Baremetal interface %s not found"
msgstr "instance %s: booted"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7830,12 +8039,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -8089,12 +8298,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, fuzzy, python-format
msgid "File path %s not valid"
msgstr "Injecting file path: '%s'"
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, fuzzy, python-format
msgid "Failed to mount image %(ex)s)"
msgstr "Failed to mount filesystem: %s"
@@ -8123,23 +8332,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
#, fuzzy
msgid "get_console_output called"
msgstr "Get console output for instance %s"
@@ -8153,7 +8362,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8173,19 +8382,19 @@ msgstr "Release address %s"
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8274,17 +8483,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, fuzzy, python-format
msgid "Starting live migration for VM: %s"
msgstr "Going to start terminating instances"
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8303,11 +8512,11 @@ msgstr "Calling getter %s"
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8331,45 +8540,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, fuzzy, python-format
msgid "Getting info for disk: %s"
msgstr "setting network host"
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8388,12 +8597,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, fuzzy, python-format
msgid "Creating directory: %s"
msgstr "Launching VPN for %s"
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, fuzzy, python-format
msgid "Removing directory: %s"
msgstr "Deleting user %s"
@@ -8413,41 +8622,41 @@ msgstr "setting network host"
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, fuzzy, python-format
msgid "Removing snapshot %s"
msgstr "Starting snapshot for VM %s"
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8474,107 +8683,107 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
#, fuzzy
msgid "Spawning new instance"
msgstr "Creating a raw instance"
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
#, fuzzy
msgid "Spawn instance failed"
msgstr "NotFound raised: %s"
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, fuzzy, python-format
msgid "Creating nic for instance: %s"
msgstr "Creating a raw instance"
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, fuzzy, python-format
msgid "Using config drive for instance: %s"
msgstr "Going to start terminating instances"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, fuzzy, python-format
msgid "Creating config drive at %(path)s"
msgstr "Injecting file path: '%s'"
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "Injecting file path: '%s'"
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, fuzzy, python-format
msgid "Got request to destroy instance: %s"
msgstr "Unable to destroy VBD %s"
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, fuzzy, python-format
msgid "Instance not found: %s"
msgstr "instance %s: booted"
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, fuzzy, python-format
msgid "Failed to destroy instance: %s"
msgstr "Unable to destroy VBD %s"
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
#, fuzzy
msgid "reboot instance"
msgstr "Rebooting instance %s"
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
#, fuzzy
msgid "Pause instance"
msgstr "Reboot instance %r"
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
#, fuzzy
msgid "Unpause instance"
msgstr "Reboot instance %r"
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
#, fuzzy
msgid "Suspend instance"
msgstr "Reboot instance %r"
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
#, fuzzy
msgid "Resume instance"
msgstr "Reboot instance %r"
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
#, fuzzy
msgid "Power off instance"
msgstr "Going to run %s instances..."
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
#, fuzzy
msgid "Power on instance"
msgstr "Going to run %s instances..."
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8609,29 +8818,29 @@ msgstr "instance %s: booted"
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8643,53 +8852,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, fuzzy, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, fuzzy, python-format
msgid "Attach volume failed: %s"
msgstr "Detach volume %s"
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr "Unable to attach volume to instance %s"
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, fuzzy, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, fuzzy, python-format
msgid "Detaching physical disk from instance: %s"
msgstr "Creating a raw instance"
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8719,244 +8928,240 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Connecting to libvirt: %s"
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "volume group %s doesn't exist"
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr "Connection to libvirt broke"
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Connecting to libvirt: %s"
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Going to try to terminate %s"
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "instance %s: rebooted"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "data: %(data)r, fpath: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, fuzzy, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s"
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, fuzzy, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
"instance %(inst_name)s: ignoring error injecting data into image "
"%(img_id)s (%(e)s)"
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8964,75 +9169,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "Failed to get metadata for ip: %s"
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -9040,50 +9261,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9093,69 +9314,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
-#, fuzzy, python-format
-msgid "Live Migration failure: %(e)s"
-msgstr "Authentication Failure: %s"
+#: nova/virt/libvirt/driver.py:3353
+#, python-format
+msgid "Live Migration failure: %s"
+msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9174,15 +9400,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9336,22 +9562,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9359,61 +9585,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9421,7 +9648,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9429,7 +9656,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9437,7 +9664,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9598,12 +9825,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9630,16 +9857,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9649,7 +9876,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9722,105 +9949,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr "instance %s: booted"
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, fuzzy, python-format
msgid "PowerVM image creation failed: %s"
msgstr "Starting Bridge interface for %s"
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, fuzzy, python-format
msgid "Creating LPAR instance '%s'"
msgstr "Creating a raw instance"
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, fuzzy, python-format
msgid "LPAR instance '%s' creation failed"
msgstr "instance %s: Creating image"
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, fuzzy, python-format
msgid "Activating the LPAR instance '%s'"
msgstr "Creating a raw instance"
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, fuzzy, python-format
msgid "Instance '%s' failed to boot"
msgstr "instance %s: rebooted"
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, fuzzy, python-format
msgid "Stopping instance %s for snapshot."
msgstr "instance %s: snapshotting"
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, fuzzy, python-format
msgid "Shutting down the instance '%s'"
msgstr "Going to run %s instances..."
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, fuzzy, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr "Going to run %s instances..."
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9830,39 +10061,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr "%(text)s: _db_content => %(content)s"
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -10076,12 +10307,12 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
#, fuzzy
msgid "Destroying the VM"
msgstr "Restarting xvp"
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
#, fuzzy
msgid "Destroyed the VM"
msgstr "Nested return %s"
@@ -10189,101 +10420,106 @@ msgstr "Going to run %s instances..."
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "instance %s: booted"
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Deleting user %s"
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
#, fuzzy
msgid "instance not present"
msgstr "instance %s: rescued"
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Deleting user %s"
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Unable to locate volume %s"
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10328,7 +10564,7 @@ msgstr "Re-scanning SR %s"
msgid "Rescanned HBA %s "
msgstr "Re-scanning SR %s"
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr "Mountpoint cannot be translated: %s"
@@ -10406,106 +10642,87 @@ msgstr "Unable to detach volume %s"
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "Calling getter %s"
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, fuzzy, python-format
msgid "Injecting file path: %r"
msgstr "Injecting file path: '%s'"
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr "OpenSSL error: %s"
@@ -10525,54 +10742,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, fuzzy, python-format
msgid "Could not determine key: %s"
msgstr "Failed to decrypt private key: %s"
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr "Got exception: %s"
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr "Raising NotImplemented"
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr "xenapi.fake does not have an implementation for %s"
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr "Calling getter %s"
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "Calling getter %s"
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10837,162 +11054,162 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, fuzzy, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr "Registered image %(image_location)s with id %(image_id)s"
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, fuzzy, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr "Size for image %(image)s:%(virtual_size)d"
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr "Copying VDI %s to /boot/guest on dom0"
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Kernel/Ramdisk VDI %s destroyed"
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "Looking up vdi %s for PV kernel"
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr "VDI %s is still available"
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr "Re-scanning SR %s"
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, fuzzy, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr "VHD %(vdi_uuid)s has parent %(parent_ref)s"
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
@@ -11001,66 +11218,66 @@ msgstr ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr "Plugging VBD %s ... "
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr "Plugging VBD %s done."
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "Destroying VBD for VDI %s ... "
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr "Destroying VBD for VDI %s done."
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr "Running pygrub against %s"
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr "Found Xen kernel %s"
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr "No Xen kernel found. Booting HVM."
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -11068,58 +11285,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr "Writing partition table %s done."
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11393,11 +11610,16 @@ msgstr "Unable to introduce VDI for SR %s"
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11431,32 +11653,32 @@ msgstr "NotFound raised: %s"
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11474,212 +11696,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr "action: %s"
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr "Get console output for instance %s"
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr "Running instances: %s"
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr "Injecting file path: '%s'"
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr "instance %s: booted"
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr "instance %s: booted"
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
-#~ msgstr ""
-
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr "Failed to get metadata for ip: %s"
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr "Calling %(localname)s %(impl)s"
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr "Unable to detach volume %s"
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s"
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr "Creating VIF for VM %(vm_ref)s, network %(network_ref)s."
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr "setting network host"
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr "Introducing %s..."
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
-#~ msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/en_GB/LC_MESSAGES/nova.po b/nova/locale/en_GB/LC_MESSAGES/nova.po
index bd9e003ac..77f36aec9 100644
--- a/nova/locale/en_GB/LC_MESSAGES/nova.po
+++ b/nova/locale/en_GB/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2012-03-30 11:10+0000\n"
"Last-Translator: Anthony Harrington <untaintableangel@hotmail.co.uk>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
@@ -79,160 +79,160 @@ msgstr ""
msgid "Flags path: %s"
msgstr "Flags path: %s"
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr "An unknown exception occurred."
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, fuzzy, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr "Failed to decrypt text"
-#: nova/exception.py:167
+#: nova/exception.py:169
#, fuzzy, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr "Failed to decrypt text"
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr "Virtual Interface creation failed"
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr "5 attempts to create virtual interface with unique mac address failed"
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr "Not authorised."
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr "User does not have admin privileges"
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr "Policy doesn't allow %(action)s to be performed."
-#: nova/exception.py:198
+#: nova/exception.py:200
#, fuzzy, python-format
msgid "Image %(image_id)s is not active."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr "Unacceptable parameters."
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr "Volume %(volume_id)s is not attached to anything"
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr "Keypair data is invalid"
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr "The request is invalid."
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr "Invalid input received"
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr "Invalid volume"
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "Invalid IP protocol %(protocol)s."
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "Invalid content type %(content_type)s."
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr "Invalid cidr %(cidr)s."
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr "%(err)s"
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
@@ -241,16 +241,16 @@ msgstr ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
@@ -259,123 +259,123 @@ msgstr ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:327
+#: nova/exception.py:329
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "VBD not found in instance %s"
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Unable to destroy VBD %s"
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -383,86 +383,86 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "Invalid cidr %(cidr)s."
-#: nova/exception.py:448
+#: nova/exception.py:450
#, fuzzy
msgid "Constraint not met."
msgstr "instance %s: resuming"
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -470,896 +470,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "Mountpoint %(mountpoint)s attached to instance %(instance_name)s"
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, fuzzy, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:798
+#: nova/exception.py:796
#, fuzzy, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:803
+#: nova/exception.py:801
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "Invalid content type %(content_type)s."
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, fuzzy, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, fuzzy, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, fuzzy, python-format
msgid "Marker %(marker)s could not be found."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Unable to attach volume to instance %s"
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, fuzzy, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1374,15 +1395,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1404,17 +1425,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1447,120 +1468,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr "debug in callback: %s"
-#: nova/utils.py:334
+#: nova/utils.py:362
+#, python-format
+msgid "Couldn't get IPv4 : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:379
+#, python-format
+msgid "IPv4 address is not found.: %s"
+msgstr ""
+
+#: nova/utils.py:382
+#, python-format
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:397
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "Link Local address is not found.:%s"
-#: nova/utils.py:337
+#: nova/utils.py:400
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr "Couldn't get Link Local IP of %(interface)s :%(ex)s"
-#: nova/utils.py:376
+#: nova/utils.py:439
#, python-format
msgid "Invalid backend: %s"
msgstr "Invalid backend: %s"
-#: nova/utils.py:437
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, fuzzy, python-format
msgid "Unable to find cert_file : %s"
msgstr "Unable to locate volume %s"
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, fuzzy, python-format
msgid "Unable to find ca_file : %s"
msgstr "Unable to locate volume %s"
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, fuzzy, python-format
msgid "Unable to find key_file : %s"
msgstr "Unable to locate volume %s"
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1574,7 +1605,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1720,262 +1751,257 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "Invalid IP protocol %(protocol)s."
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr "Get console output for instance %s"
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
#, fuzzy
msgid "Only instances implemented"
msgstr "instance %s: resuming"
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
#, fuzzy
msgid "Invalid CIDR"
msgstr "Invalid cidr %(cidr)s."
@@ -2147,89 +2173,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2277,6 +2321,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2323,21 +2368,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2345,6 +2393,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2369,6 +2419,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2382,14 +2433,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2406,6 +2457,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2422,276 +2474,280 @@ msgid "Flavor '%s' could not be found "
msgstr "Instance %(instance_id)s is not running."
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
#, fuzzy
msgid "Flavor used by the instance could not be found."
msgstr "Instance %(instance_id)s is not running."
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
#, fuzzy
msgid "Image that the instance was started with could not be found."
msgstr "Instance %(instance_id)s is not running."
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
#, fuzzy
msgid "Invalid instance image."
msgstr "Invalid volume"
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2732,6 +2788,7 @@ msgstr "Compute.api::reset_network %s"
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2771,6 +2828,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2864,36 +2922,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, fuzzy, python-format
msgid "Cell %(id)s not found."
msgstr "Instance %(instance_id)s is not running."
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2935,33 +3002,33 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
#, fuzzy
msgid "Invalid path"
msgstr "Invalid snapshot"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2972,40 +3039,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "instance %s: suspending"
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3040,7 +3114,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3088,7 +3162,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3280,30 +3354,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3315,7 +3395,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3332,16 +3412,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3365,7 +3445,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3424,12 +3504,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3448,153 +3533,166 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Instance %(instance_id)s is not running."
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
#, fuzzy
msgid "Got update to delete instance"
msgstr "Instance %(instance_id)s is not running."
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "Instance %(instance_id)s is not running."
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3606,7 +3704,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3639,35 +3737,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr "Unable to locate volume %s"
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3688,315 +3835,315 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "instance %s: reset network"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "Rebooting instance %s"
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "instance %s: resuming"
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -4010,246 +4157,246 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Unable to attach volume to instance %s"
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
#, fuzzy
msgid "instance termination disabled"
msgstr "Virtual Interface creation failed"
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "Instance %(instance_id)s is not running."
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Unable to destroy VBD %s"
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Unable to destroy VBD %s"
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4314,12 +4461,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4340,667 +4487,691 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "volume %s: creating export"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
#, fuzzy
msgid "Failed to resume instance"
msgstr "Rebooting instance %s"
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Get console output for instance %s"
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
#, fuzzy
msgid "Rebuilding instance"
msgstr "Rebooting instance %s"
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Unable to detach volume %s"
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
#, fuzzy
msgid "Rebooting instance"
msgstr "Rebooting instance %s"
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
#, fuzzy
msgid "instance snapshotting"
msgstr "instance %s: snapshotting"
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Rebooting instance %s"
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, fuzzy, python-format
msgid "Updating instance to original state: '%s'"
msgstr "Invalid instance type %(instance_type)s."
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
#, fuzzy
msgid "Instance has no source host"
msgstr "instance %s: snapshotting"
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "instance %s: retrieving diagnostics"
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
#, fuzzy
msgid "Reset network"
msgstr "instance %s: reset network"
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
#, fuzzy
msgid "Get console output"
msgstr "Get console output for instance %s"
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, fuzzy, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "Detaching volume from unknown instance %s"
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Re-exporting %s volumes"
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "instance %s: snapshotting"
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Re-exporting %s volumes"
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, fuzzy, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr "Invalid instance type %(instance_type)s."
@@ -5100,11 +5271,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5120,15 +5291,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5208,7 +5398,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5230,44 +5420,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5298,43 +5488,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5363,47 +5553,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5609,42 +5799,42 @@ msgstr "killing radvd threw %s"
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d is stale, relaunching radvd"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "Invalid backend: %s"
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr "Starting VLAN interface %s"
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "Starting Bridge interface for %s"
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "Starting Bridge interface for %s"
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5764,13 +5954,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5806,152 +5996,153 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, fuzzy, python-format
msgid "empty project id for instance %s"
msgstr "Invalid instance type %(instance_type)s."
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
#, fuzzy
msgid "Port not found"
msgstr "instance %s: suspending"
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5972,12 +6163,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6181,11 +6372,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr "DB exception wrapped."
@@ -6235,11 +6436,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6670,86 +6866,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
-#, fuzzy, python-format
-msgid "Setting instance to %(state)s state."
-msgstr "Invalid instance type %(instance_type)s."
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
+#, python-format
+msgid "Setting instance to %s state."
+msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, fuzzy, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr "Instance %(instance_id)s is not running."
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6784,35 +6977,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6836,7 +7029,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6854,10 +7047,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6905,13 +7111,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7096,59 +7307,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7268,19 +7481,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7290,25 +7503,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7317,7 +7530,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7339,20 +7552,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7371,37 +7584,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, fuzzy, python-format
msgid "Destroy called on non-existing instance %s"
msgstr "Get console output for instance %s"
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7454,85 +7667,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "Get console output for instance %s"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, fuzzy, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr "Instance %(instance_id)s is not running."
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, fuzzy, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr "Get console output for instance %s"
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, fuzzy, python-format
msgid "PXE deploy started for instance %s"
msgstr "Invalid instance type %(instance_type)s."
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, fuzzy, python-format
msgid "PXE deploy completed for instance %s"
msgstr "Get console output for instance %s"
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, fuzzy, python-format
msgid "PXE deploy failed for instance %s"
msgstr "Invalid instance type %(instance_type)s."
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "Invalid instance type %(instance_type)s."
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Get console output for instance %s"
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "Invalid instance type %(instance_type)s."
@@ -7617,24 +7830,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7644,7 +7857,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7658,22 +7871,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, fuzzy, python-format
msgid "Baremetal interface %s not found"
msgstr "instance %s: suspending"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, fuzzy, python-format
msgid "Baremetal interface %s already in use"
msgstr "Virtual Interface creation failed"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7786,12 +7995,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -8045,12 +8254,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, fuzzy, python-format
msgid "Failed to mount image %(ex)s)"
msgstr "Unable to locate volume %s"
@@ -8079,23 +8288,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
#, fuzzy
msgid "get_console_output called"
msgstr "Get console output for instance %s"
@@ -8109,7 +8318,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8129,19 +8338,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8230,17 +8439,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, fuzzy, python-format
msgid "Starting live migration for VM: %s"
msgstr "Starting Bridge interface for %s"
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8259,11 +8468,11 @@ msgstr "Calling getter %s"
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8287,45 +8496,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, fuzzy, python-format
msgid "Getting info for disk: %s"
msgstr "Get console output for instance %s"
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8344,12 +8553,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, fuzzy, python-format
msgid "Creating directory: %s"
msgstr "Re-exporting %s volumes"
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, fuzzy, python-format
msgid "Removing directory: %s"
msgstr "Re-exporting %s volumes"
@@ -8369,41 +8578,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8430,107 +8639,107 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
#, fuzzy
msgid "Spawning new instance"
msgstr "Rebooting instance %s"
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
#, fuzzy
msgid "Spawn instance failed"
msgstr "Rebooting instance %s"
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, fuzzy, python-format
msgid "Creating nic for instance: %s"
msgstr "Get console output for instance %s"
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, fuzzy, python-format
msgid "Using config drive for instance: %s"
msgstr "Get console output for instance %s"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, fuzzy, python-format
msgid "Got request to destroy instance: %s"
msgstr "Unable to destroy VBD %s"
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, fuzzy, python-format
msgid "Instance not found: %s"
msgstr "instance %s: suspending"
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, fuzzy, python-format
msgid "Failed to destroy instance: %s"
msgstr "Unable to destroy VBD %s"
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
#, fuzzy
msgid "reboot instance"
msgstr "Rebooting instance %s"
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
#, fuzzy
msgid "Pause instance"
msgstr "Rebooting instance %s"
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
#, fuzzy
msgid "Unpause instance"
msgstr "Rebooting instance %s"
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
#, fuzzy
msgid "Suspend instance"
msgstr "Rebooting instance %s"
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
#, fuzzy
msgid "Resume instance"
msgstr "Rebooting instance %s"
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
#, fuzzy
msgid "Power off instance"
msgstr "Rebooting instance %s"
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
#, fuzzy
msgid "Power on instance"
msgstr "Rebooting instance %s"
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8565,29 +8774,29 @@ msgstr "instance %s: suspending"
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8599,53 +8808,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, fuzzy, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, fuzzy, python-format
msgid "Attach volume failed: %s"
msgstr "Unable to detach volume %s"
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr "Unable to attach volume to instance %s"
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, fuzzy, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, fuzzy, python-format
msgid "Detaching physical disk from instance: %s"
msgstr "Get console output for instance %s"
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8675,242 +8884,238 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Connection to melange failed"
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "volume %s: created successfully"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
#, fuzzy
msgid "Guest does not have a console available"
msgstr "User does not have admin privileges"
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, fuzzy, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s"
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8918,75 +9123,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "Unable to detach volume %s"
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8994,50 +9215,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9047,69 +9268,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9128,15 +9354,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9290,22 +9516,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9313,61 +9539,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9375,7 +9602,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9383,7 +9610,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9391,7 +9618,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9552,12 +9779,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9585,16 +9812,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr "Connection to melange failed"
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9604,7 +9831,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9678,105 +9905,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr "instance %s: suspending"
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, fuzzy, python-format
msgid "PowerVM image creation failed: %s"
msgstr "Starting Bridge interface for %s"
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, fuzzy, python-format
msgid "Creating LPAR instance '%s'"
msgstr "Rebooting instance %s"
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, fuzzy, python-format
msgid "LPAR instance '%s' creation failed"
msgstr "Virtual Interface creation failed"
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, fuzzy, python-format
msgid "Activating the LPAR instance '%s'"
msgstr "Rebooting instance %s"
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, fuzzy, python-format
msgid "Stopping instance %s for snapshot."
msgstr "instance %s: snapshotting"
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9786,39 +10017,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr "%(text)s: _db_content => %(content)s"
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -10030,11 +10261,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
#, fuzzy
msgid "Destroyed the VM"
msgstr "Nested return %s"
@@ -10140,101 +10371,106 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "Instance %(instance_id)s is not running."
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Re-exporting %s volumes"
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
#, fuzzy
msgid "instance not present"
msgstr "instance %s: resuming"
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Re-exporting %s volumes"
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Unable to locate volume %s"
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10279,7 +10515,7 @@ msgstr "Re-scanning SR %s"
msgid "Rescanned HBA %s "
msgstr "Re-scanning SR %s"
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10357,106 +10593,87 @@ msgstr "Unable to detach volume %s"
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "Calling getter %s"
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10472,54 +10689,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr "Raising NotImplemented"
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr "xenapi.fake does not have an implementation for %s"
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr "Calling getter %s"
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "Calling getter %s"
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10783,162 +11000,162 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, fuzzy, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr "Size for image %(image)s:%(virtual_size)d"
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr "Copying VDI %s to /boot/guest on dom0"
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Kernel/Ramdisk VDI %s destroyed"
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "Looking up vdi %s for PV kernel"
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr "VDI %s is still available"
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr "Re-scanning SR %s"
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, fuzzy, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr "VHD %(vdi_uuid)s has parent %(parent_ref)s"
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
@@ -10947,66 +11164,66 @@ msgstr ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr "Plugging VBD %s ... "
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr "Plugging VBD %s done."
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "Destroying VBD for VDI %s ... "
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr "Destroying VBD for VDI %s done."
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr "Running pygrub against %s"
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr "Found Xen kernel %s"
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr "No Xen kernel found. Booting HVM."
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -11014,58 +11231,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr "Writing partition table %s done."
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11334,11 +11551,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11372,32 +11594,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11415,212 +11637,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr "An unknown exception occurred."
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr "Invalid instance type %(instance_type)s."
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "No node specified, defaulting to %(node)s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr "VBD not found in instance %s"
-
#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr "instance %s: snapshotting"
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr "Instance %(instance_id)s is not running."
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr "Instance %(instance_id)s is not running."
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
-#~ msgstr ""
-
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr "Calling %(localname)s %(impl)s"
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr "Unable to detach volume %s"
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s"
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr "Creating VIF for VM %(vm_ref)s, network %(network_ref)s."
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr "Re-exporting %s volumes"
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
-#~ msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
-#~ msgstr "Instance %(instance_id)s is not running."
-
diff --git a/nova/locale/en_US/LC_MESSAGES/nova.po b/nova/locale/en_US/LC_MESSAGES/nova.po
index de94f2fee..8071e4111 100644
--- a/nova/locale/en_US/LC_MESSAGES/nova.po
+++ b/nova/locale/en_US/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-01-21 18:28+0000\n"
"Last-Translator: Jeremy Stanley <fungi@yuggoth.org>\n"
"Language-Team: en_US <LL@li.org>\n"
@@ -81,161 +81,161 @@ msgstr "Failed to terminate instance"
msgid "Flags path: %s"
msgstr "Flags path: %s"
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr "An unknown exception occurred."
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr "Exception in string format operation"
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr "Unknown"
-#: nova/exception.py:163
+#: nova/exception.py:165
#, fuzzy, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr "Failed to decrypt text"
-#: nova/exception.py:167
+#: nova/exception.py:169
#, fuzzy, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr "Failed to decrypt text"
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr "Virtual Interface creation failed"
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr "5 attempts to create virtual interfacewith unique mac address failed"
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr "Not authorized."
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr "User does not have admin privileges"
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr "Policy doesn't allow %(action)s to be performed."
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr "Image %(image_id)s is not active."
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr "Not authorized for image %(image_id)s."
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr "Unacceptable parameters."
-#: nova/exception.py:211
+#: nova/exception.py:213
#, fuzzy
msgid "Block Device Mapping is Invalid."
msgstr "block_device_mapping %s"
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr "Volume %(volume_id)s is not attached to anything"
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr "Keypair data is invalid"
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr "The request is invalid."
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr "Invalid input received"
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr "Invalid volume"
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr "Invalid metadata"
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr "Invalid metadata size"
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "Invalid IP protocol %(protocol)s."
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "Invalid content type %(content_type)s."
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr "Invalid cidr %(cidr)s."
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr "Invalid Parameter: Unicode is not supported by the current database."
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr "%(err)s"
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
@@ -244,16 +244,16 @@ msgstr ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr "Group not valid. Reason: %(reason)s"
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr "Sort key supplied was not valid."
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
@@ -262,85 +262,85 @@ msgstr ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "Instance %(instance_id)s is not running."
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr "Instance %(instance_id)s is not in rescue mode"
-#: nova/exception.py:323
+#: nova/exception.py:325
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "Instance %(instance_id)s is not in rescue mode"
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "Instance %(instance_id)s is not ready"
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr "Failed to suspend instance"
-#: nova/exception.py:335
+#: nova/exception.py:337
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Failed to reset network: %(resp)r"
-#: nova/exception.py:339
+#: nova/exception.py:341
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "Failed to set admin password on %(instance)s because %(reason)s"
-#: nova/exception.py:343
+#: nova/exception.py:345
#, fuzzy, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr "Failed to set admin password on %(instance)s because %(reason)s"
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr "Failed to reboot instance"
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr "Failed to terminate instance"
-#: nova/exception.py:355
+#: nova/exception.py:357
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Failed to reboot instance"
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr "Service is unavailable at this time."
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr "Insufficient compute resources."
-#: nova/exception.py:367
+#: nova/exception.py:369
#, fuzzy, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr "Compute service is unavailable at this time."
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr "The supplied hypervisor type of is invalid."
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr "The instance requires a newer hypervisor version than has been provided."
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
@@ -349,31 +349,31 @@ msgstr ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr "The supplied device path (%(path)s) is invalid."
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr "The supplied device path (%(path)s) is in use."
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr "The supplied device (%(device)s) is busy."
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr "Unacceptable CPU info"
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr "%(address)s is not a valid IP v4/6 address."
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
@@ -382,7 +382,7 @@ msgstr ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -393,85 +393,85 @@ msgstr ""
"the desired physical adapter. Expected vSwitch is %(expected)s, but the "
"one associated is %(actual)s."
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr "Disk format %(disk_format)s is not acceptable"
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr "Image %(image_id)s is unacceptable: %(reason)s"
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr "Instance %(instance_id)s is unacceptable: %(reason)s"
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr "Ec2 id %(ec2_id)s is unacceptable."
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr "Expected a uuid but received %(uuid)s."
-#: nova/exception.py:444
+#: nova/exception.py:446
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "Invalid cidr %(cidr)s."
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr "Constraint not met."
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr "Resource could not be found."
-#: nova/exception.py:458
+#: nova/exception.py:460
#, fuzzy, python-format
msgid "No agent-build associated with id %(id)s."
msgstr "No fixed IP associated with id %(id)s."
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr "Volume %(volume_id)s could not be found."
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr "Snapshot %(snapshot_id)s could not be found."
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr "No target id found for volume %(volume_id)s."
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr "No disk at %(location)s"
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr "Could not find a handler for %(driver_type)s volume."
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr "Invalid image href %(image_href)s."
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr "Image %(image_id)s could not be found."
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -482,65 +482,65 @@ msgstr ""
" dynamically when they are listed for the first time. Have you listed "
"image ids since adding this image?"
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr "Project %(project_id)s could not be found."
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr "Cannot find SR to read/write VDI."
-#: nova/exception.py:505
+#: nova/exception.py:507
#, fuzzy, python-format
msgid "Network %(network_id)s is duplicated."
msgstr "Network %(network_id)s is still in use."
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr "Network %(network_id)s is still in use."
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr "%(req)s is required to create a network."
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr "Network %(network_id)s could not be found."
-#: nova/exception.py:521
+#: nova/exception.py:523
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "Port %(port_id)s could not be found."
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr "Network could not be found for bridge %(bridge)s"
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr "Network could not be found for uuid %(uuid)s"
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr "Network could not be found with cidr %(cidr)s."
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr "Network could not be found for instance %(instance_id)s."
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr "No networks defined."
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
@@ -549,51 +549,51 @@ msgstr ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr "Could not find the datastore reference(s) which the VM uses."
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr "Port %(port_id)s is still in use."
-#: nova/exception.py:558
+#: nova/exception.py:560
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "Network could not be found for instance %(instance_id)s."
-#: nova/exception.py:562
+#: nova/exception.py:564
#, fuzzy, python-format
msgid "No free port available for instance %(instance)s."
msgstr "Network could not be found for instance %(instance_id)s."
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr "No fixed IP associated with id %(id)s."
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr "Fixed ip not found for address %(address)s."
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr "Instance %(instance_uuid)s has zero fixed ips."
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr "Network host %(host)s has zero fixed ips in network %(network_id)s."
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
@@ -602,7 +602,7 @@ msgstr ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
@@ -611,121 +611,117 @@ msgstr ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr "More than one instance is associated with fixed ip address '%(address)s'."
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr "Fixed IP address %(address)s is invalid."
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr "Zero fixed ips available."
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr "Zero fixed ips could be found."
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr "Floating ip %(address)s already exists."
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr "Floating ip not found for id %(id)s."
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr "The DNS entry %(name)s already exists in domain %(domain)s."
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr "Floating ip not found for address %(address)s."
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr "Floating ip not found for host %(host)s."
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr "Multiple floating ips are found for address %(address)s."
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr "Floating ip pool not found."
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr "Zero floating ips available."
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr "Floating ip %(address)s is associated."
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr "Floating ip %(address)s is not associated."
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr "Zero floating ips exist."
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr "Interface %(interface)s not found."
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
-msgstr "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
+msgstr "Cannot disassociate auto assigned floating ip"
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr "Keypair %(name)s not found for user %(user_id)s"
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr "Certificate %(certificate_id)s not found."
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr "Service %(service_id)s could not be found."
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr "Host %(host)s could not be found."
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr "Compute host %(host)s could not be found."
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr "Could not find binary %(binary)s on host %(host)s."
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr "Invalid reservation expiration %(expire)s."
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
@@ -734,56 +730,56 @@ msgstr ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr "Quota could not be found"
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr "Unknown quota resources %(unknown)s."
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr "Quota for project %(project_id)s could not be found."
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr "Quota class %(class_name)s could not be found."
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr "Quota usage for project %(project_id)s could not be found."
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr "Quota reservation %(uuid)s could not be found."
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr "Quota exceeded for resources: %(overs)s"
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr "Security group %(security_group_id)s not found."
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr "Security group %(security_group_id)s not found for project %(project_id)s."
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr "Security group with rule %(rule_id)s not found."
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
@@ -792,7 +788,7 @@ msgstr ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
@@ -801,37 +797,37 @@ msgstr ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
-#: nova/exception.py:757
+#: nova/exception.py:755
#, fuzzy, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr "Security group with rule %(rule_id)s not found."
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr "Migration %(migration_id)s could not be found."
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr "Migration not found for instance %(instance_id)s with status %(status)s."
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr "Console pool %(pool_id)s could not be found."
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
@@ -840,17 +836,17 @@ msgstr ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr "Console %(console_id)s could not be found."
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr "Console for instance %(instance_uuid)s could not be found."
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
@@ -859,81 +855,86 @@ msgstr ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
-#: nova/exception.py:803
+#: nova/exception.py:801
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "Invalid console type %(console_type)s "
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr "Instance type %(instance_type_id)s could not be found."
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr "Instance type with name %(instance_type_name)s could not be found."
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr "Flavor %(flavor_id)s could not be found."
-#: nova/exception.py:820
+#: nova/exception.py:818
#, fuzzy, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr "Flavor access not found for %(flavor_id) / %(project_id) combination."
-#: nova/exception.py:825
+#: nova/exception.py:823
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "pool %s doesn't exist"
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
#, fuzzy
msgid "Timeout waiting for response from cell"
msgstr "Timed out waiting for RPC response: %s"
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, fuzzy, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr "Destroying VDIs for Instance %(instance_uuid)s"
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr "Scheduler Host Filter %(filter_name)s could not be found."
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
@@ -942,7 +943,7 @@ msgstr ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
@@ -951,146 +952,144 @@ msgstr ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr "File %(file_path)s could not be found."
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr "Zero files could be found."
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr "Virtual switch associated with the network adapter %(adapter)s not found."
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr "Network adapter %(adapter)s could not be found."
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr "Class %(class_name)s could not be found: %(exception)s"
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr "Action not allowed."
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr "Rotation is not allowed for snapshots"
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr "Rotation param is required for backup image_type"
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, fuzzy, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr "Key pair %(key_name)s already exists."
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr "Instance %(name)s already exists."
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr "Instance Type with name %(name)s already exists."
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr "Instance Type with ID %(flavor_id)s already exists."
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
-"%(project_id)s combination."
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr "%(path)s is not on shared storage: %(reason)s"
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr "%(path)s is not on local storage: %(reason)s"
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr "Migration error"
-#: nova/exception.py:942
+#: nova/exception.py:944
#, fuzzy
msgid "Migration pre-check error"
msgstr "Migration error"
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr "Malformed message body: %(reason)s"
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr "Could not find config at %(path)s"
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr "Could not load paste app '%(name)s' from %(path)s"
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr "When resizing, instances must change flavor!"
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr "Instance type's memory is too small for requested image."
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr "Instance type's disk is too small for requested image."
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr "Insufficient free memory on compute node to start %(uuid)s."
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr "Could not fetch bandwidth/cpu/disk metrics for this host."
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr "No valid host was found. %(reason)s"
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr "Quota exceeded"
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
@@ -1099,41 +1098,41 @@ msgstr ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr "Maximum number of floating ips exceeded"
-#: nova/exception.py:1008
+#: nova/exception.py:1010
#, fuzzy
msgid "Maximum number of fixed ips exceeded"
msgstr "Maximum number of floating ips exceeded"
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr "Maximum number of metadata items exceeds %(allowed)d"
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr "Personality file limit exceeded"
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr "Personality file path too long"
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr "Personality file content too long"
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr "Maximum number of key pairs exceeded"
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr "Maximum number of security groups or rules exceeded"
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
@@ -1142,125 +1141,130 @@ msgstr ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr "Aggregate %(aggregate_id)s could not be found."
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr "Aggregate %(aggregate_name)s already exists."
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr "Aggregate %(aggregate_id)s has no host %(host)s."
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr "Aggregate %(aggregate_id)s already has host %(host)s."
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr "Unable to create instance type"
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr "Failed to set admin password on %(instance)s because %(reason)s"
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr "Detected existing vlan with id %(vlan)d"
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr "Instance %(instance_id)s could not be found."
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "Console for instance %(instance_uuid)s could not be found."
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "Volume %(volume_id)s could not be found."
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, fuzzy, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr "Port %(port_id)s could not be found."
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr "Marker %(marker)s could not be found."
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr "Invalid id: %(val)s (expecting \"i-...\")."
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "Could not fetch image %(image_id)s"
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "Could not fetch image %(image_id)s"
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr "Task %(task_name)s is already running on host %(host)s"
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr "Task %(task_name)s is not running on host %(host)s"
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr "Instance %(instance_uuid)s is locked"
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Failed to dealloc network for deleted instance"
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "Failed to dealloc network for deleted instance"
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
@@ -1269,11 +1273,11 @@ msgstr ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr "User data needs to be valid base 64."
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
@@ -1282,19 +1286,19 @@ msgstr ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, fuzzy, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, fuzzy, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr "Keypair %(name)s not found for user %(user_id)s"
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, fuzzy, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
@@ -1303,111 +1307,126 @@ msgstr ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr "The CA file for %(project)s could not be found"
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr "The CRL file for %(project)s could not be found"
-#: nova/exception.py:1181
+#: nova/exception.py:1187
#, fuzzy
msgid "Instance recreate is not implemented by this virt driver."
msgstr "set_admin_password is not implemented by this driver."
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "Instance %(instance_id)s is not in rescue mode"
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "Instance %(instance_id)s is not in rescue mode"
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "Instance Type with name %(name)s already exists."
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, fuzzy, python-format
msgid "Unsupported object type %(objtype)s"
msgstr "Expected object of type: %s"
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1422,15 +1441,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr "Notifying Schedulers of capabilities ..."
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr "Failed to send state update notification"
-#: nova/notifications.py:233
+#: nova/notifications.py:241
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Failed to get info for disk %s"
@@ -1453,17 +1472,17 @@ msgstr "Created reservations %(reservations)s"
msgid "Failed to commit reservations %(reservations)s"
msgstr "Failed to commit reservations %(reservations)s"
-#: nova/quota.py:996
+#: nova/quota.py:997
#, fuzzy, python-format
msgid "Committed reservations %(reservations)s"
msgstr "Created reservations %(reservations)s"
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr "Failed to roll back reservations %(reservations)s"
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, fuzzy, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr "Failed to roll back reservations %(reservations)s"
@@ -1496,122 +1515,132 @@ msgstr ""
msgid "serve() can only be called once"
msgstr "serve() can only be called once"
-#: nova/utils.py:143
+#: nova/utils.py:150
#, fuzzy, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr "debug in callback: %s"
-#: nova/utils.py:334
+#: nova/utils.py:362
+#, python-format
+msgid "Couldn't get IPv4 : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:379
+#, python-format
+msgid "IPv4 address is not found.: %s"
+msgstr ""
+
+#: nova/utils.py:382
+#, python-format
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:397
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "Link Local address is not found.:%s"
-#: nova/utils.py:337
+#: nova/utils.py:400
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr "Couldn't get Link Local IP of %(interface)s :%(ex)s"
-#: nova/utils.py:376
+#: nova/utils.py:439
#, python-format
msgid "Invalid backend: %s"
msgstr "Invalid backend: %s"
-#: nova/utils.py:437
-#, fuzzy, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr "Unknown base file: %s"
-
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr "Expected object of type: %s"
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr "Invalid server_string: %s"
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr "timefunc: '%(name)s' took %(total_time).2f secs"
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr "Reloading cached file %s"
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr "Could not remove tmpdir: %s"
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, fuzzy, python-format
msgid "%s is not a string or unicode"
msgstr "Server name is not a string or unicode"
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, fuzzy, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr "Server name must be less than 256 characters."
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr "%(name)s listening on %(host)s:%(port)s"
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, fuzzy, python-format
msgid "Unable to find cert_file : %s"
msgstr "Unable to find address %r"
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, fuzzy, python-format
msgid "Unable to find ca_file : %s"
msgstr "Unable to find address %r"
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, fuzzy, python-format
msgid "Unable to find key_file : %s"
msgstr "Unable to find address %r"
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr "Stopping WSGI server."
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr "WSGI server has stopped."
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr "You must implement __call__"
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr "Loading app %(name)s from %(path)s"
@@ -1625,7 +1654,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr "Sourcing roles from deprecated X-Role HTTP header"
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr "Request is too large."
@@ -1774,224 +1803,219 @@ msgstr "An unknown error has occurred. Please try your request again."
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr "Unsupported API request: controller = %(controller)s, action = %(action)s"
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr "Create snapshot of volume %s"
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr "Could not find key pair(s): %s"
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr "Create key pair %s"
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr "Quota exceeded, too many key pairs."
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr "Import key %s"
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr "Delete key pair %s"
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr "Not enough parameters, need group_name or group_id"
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr "%s Not enough parameters to build a valid rule"
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "Invalid IP protocol %(protocol)s."
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr "No rule for the specified parameters."
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr "%s - This rule already exists in group"
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr "Get console output for instance %s"
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr "Create volume from snapshot %s"
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr "Create volume of %s GB"
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr "Delete Failed"
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr "Attach Failed."
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "Detach volume %s"
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr "Detach Volume Failed."
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr "attribute not supported: %s"
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr "vol = %s\n"
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr "Allocate address"
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr "No more floating IPs available"
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr "Release address %s"
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr "Unable to release IP Address."
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr "Associate address %(public_ip)s to instance %(instance_id)s"
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Unable to associate IP Address, no fixed_ips."
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr "multiple fixed_ips exist, using the first: %s"
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr "Floating ip is already associated."
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr "l3driver call to add floating ip failed."
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr "Error, unable to associate floating ip."
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr "Disassociate address %s"
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr "Floating ip is not associated."
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr "Cannot disassociate auto assigned floating ip"
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr "Image must be available"
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr "Going to start terminating instances"
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr "Reboot instance %r"
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr "Going to stop instances"
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr "Going to start instances"
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr "De-registering image %s"
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr "imageLocation is required"
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr "Registered image %(image_location)s with id %(image_id)s"
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr "user or group not specified"
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr "only group \"all\" is supported"
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr "operation_type must be add or remove"
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr "Updating image %s publicity"
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr "Not allowed to modify attributes for image %s"
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
@@ -2000,40 +2024,40 @@ msgstr ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr "Couldn't stop instance with in %d sec"
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr "image of %(instance)s at %(now)s"
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
#, fuzzy
msgid "Expecting a list of resources"
msgstr "Getting list of instances"
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
#, fuzzy
msgid "Only instances implemented"
msgstr "instance not present"
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
#, fuzzy
msgid "Expecting a list of tagSets"
msgstr "Getting list of instances"
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr "Invalid CIDR"
@@ -2209,89 +2233,107 @@ msgstr "Image metadata key too long"
msgid "Invalid image metadata"
msgstr "Invalid image metadata"
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
#: nova/api/openstack/common.py:366
+#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
#, fuzzy, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr "Instance is in an invalid state for '%(action)s'"
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr "Rejecting snapshot request, snapshots currently disabled"
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr "Instance snapshots are not permitted at this time."
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr "Loaded extension: %s"
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr "Ext name: %s"
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr "Ext alias: %s"
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr "Ext description: %s"
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr "Ext namespace: %s"
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr "Ext updated: %s"
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr "Exception loading extension: %s"
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr "Loading extension %s"
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr "Calling extension factory %s"
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr "Failed to load extension %(ext_factory)s: %(exc)s"
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr "Failed to load extension %(classpath)s: %(exc)s"
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, fuzzy, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr "Failed to load extension %(ext_name)s: %(exc)s"
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr "cannot understand JSON"
@@ -2339,6 +2381,7 @@ msgstr "There is no such action: %s"
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr "Malformed request body"
@@ -2385,21 +2428,24 @@ msgstr "Template tree mismatch; adding slave %(slavetag)s to master %(mastertag)
msgid "subclasses must implement construct()!"
msgstr "subclasses must implement construct()!"
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr "Initializing extension manager."
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr "Invalid is_public filter [%s]"
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr "Invalid minRam filter [%s]"
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr "Invalid minDisk filter [%s]"
@@ -2407,6 +2453,8 @@ msgstr "Invalid minDisk filter [%s]"
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr "Image not found."
@@ -2431,6 +2479,7 @@ msgid "Invalid metadata key"
msgstr "Invalid metadata key"
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2444,7 +2493,7 @@ msgstr "Instance does not exist"
msgid "Instance is not a member of specified network"
msgstr "Instance is not a member of specified network"
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
@@ -2453,7 +2502,7 @@ msgstr ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr "This request was rate-limited."
@@ -2470,6 +2519,7 @@ msgstr "Metadata item was not found"
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr "Invalid changes-since value"
@@ -2486,278 +2536,282 @@ msgid "Flavor '%s' could not be found "
msgstr "Host '%s' could not be found."
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr "Instance could not be found"
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr "Bad personality format: missing %s"
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr "Bad personality format"
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr "Personality content for %s cannot be decoded"
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr "Unknown argment : port"
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr "Bad port format: port uuid is not in proper format (%s)"
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr "Bad networks format: network uuid is not in proper format (%s)"
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr "Invalid fixed IP address (%s)"
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr "Duplicate networks (%s) are not allowed"
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr "Bad network format: missing %s"
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr "Bad networks format"
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr "Userdata content cannot be decoded"
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr "accessIPv4 is not proper IPv4 format"
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr "accessIPv6 is not proper IPv6 format"
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr "Server name is not defined"
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr "Invalid flavorRef provided."
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr "min_count must be an integer value"
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr "min_count must be > 0"
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr "max_count must be an integer value"
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr "max_count must be > 0"
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr "min_count must be <= max_count"
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr "Can not find requested image"
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr "Invalid key_name provided."
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr "HostId cannot be updated."
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
#, fuzzy
msgid "Personality cannot be updated."
msgstr "HostId cannot be updated."
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr "Instance has not been resized."
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
#, fuzzy
msgid "Flavor used by the instance could not be found."
msgstr "Instance %(instance_id)s could not be found."
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr "Argument 'type' for reboot is not HARD or SOFT"
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr "Missing argument 'type' for reboot"
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr "Unable to locate requested flavor."
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr "Resize requires a flavor change."
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
#, fuzzy
msgid "Image that the instance was started with could not be found."
msgstr "Instance %(instance_id)s could not be found."
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
#, fuzzy
msgid "Invalid instance image."
msgstr "%s is a valid instance name"
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr "Missing imageRef attribute"
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr "Invalid imageRef provided."
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr "Missing flavorRef attribute"
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr "No adminPass was specified"
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr "Invalid adminPass"
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
#, fuzzy
msgid "Unable to set password on instance"
msgstr "Failed to soft reboot instance."
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr "Unable to parse metadata key/value pairs."
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr "Resize request has invalid 'flavorRef' attribute."
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr "Resize requests require 'flavorRef' attribute."
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr "Invalid request body"
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr "Could not parse imageRef from request."
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr "Cannot find image for rebuild"
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr "createImage entity requires name attribute"
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, fuzzy, python-format
msgid "Removing options '%s' from query"
msgstr "Removing options '%(unk_opt_str)s' from query"
@@ -2798,6 +2852,7 @@ msgstr "Compute.api::reset_network %s"
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr "Server not found"
@@ -2838,6 +2893,7 @@ msgstr "createBackup attribute 'rotation' must be an integer"
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr "Instance not found"
@@ -2934,38 +2990,47 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, fuzzy, python-format
msgid "Cell %(id)s not found."
msgstr "Rule (%s) not found"
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
#, fuzzy
msgid "Cell name cannot be empty"
msgstr "Security group name cannot be empty"
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
#, fuzzy
msgid "No cell information in request"
msgstr "Block device information present: %s"
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr "Only root certificate can be retrieved."
@@ -3008,34 +3073,34 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
#, fuzzy
msgid "Coverage not running"
msgstr "xvp not running..."
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
#, fuzzy
msgid "Invalid path"
msgstr "Invalid snapshot"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, fuzzy, python-format
msgid "Directory conflict: %s already exists"
msgstr "Security group %s already exists"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, fuzzy, python-format
msgid "Coverage doesn't have %s action"
msgstr "Network does not have %s action"
@@ -3046,41 +3111,48 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr "%s must be either 'MANUAL' or 'AUTO'."
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
#, fuzzy
msgid "host and onSharedStorage must be specified."
msgstr "host and block_migration must be specified."
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, fuzzy, python-format
msgid "Error in evacuate, %s"
msgstr "Error in migrate %s"
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "Fixed ip %(fixed_ip_id)s not found"
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr "Flavor not found."
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr "Access list not available for public flavors."
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr "No request body"
@@ -3115,7 +3187,7 @@ msgstr "Floating ip is not associated"
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr "Missing parameter dict"
@@ -3164,7 +3236,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr "Floating ip %(address)s is not associated."
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3364,30 +3436,36 @@ msgid "Create networks failed"
msgstr "Create failed"
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr "Quota limit must be -1 or greater."
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3399,7 +3477,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr "Malformed scheduler_hints attribute"
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr "Not enough parameters to build a valid rule."
@@ -3418,16 +3496,16 @@ msgstr "Showing network with id %s"
msgid "security group default rule not found"
msgstr "Security group with rule %(rule_id)s not found."
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, fuzzy, python-format
msgid "Bad prefix for network in cidr %s"
msgstr "Bad prefix for to_global_ipv6: %s"
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr "Security group not specified"
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr "Security group name cannot be empty"
@@ -3451,7 +3529,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
#, fuzzy
msgid "Unknown service"
msgstr "unknown guestmount error"
@@ -3511,12 +3589,17 @@ msgstr "Loaded extension: %s"
msgid "Ext version: %i"
msgstr "Ext description: %s"
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, fuzzy, python-format
msgid "Reserving IP address %s"
msgstr "Release address %s"
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, fuzzy, python-format
msgid "Unreserving IP address %s"
msgstr "Release address %s"
@@ -3535,153 +3618,166 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, fuzzy, python-format
msgid "Running _create_extension_point for %s"
msgstr "Calling extension factory %s"
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr "Instance has had its instance_type removed from the DB"
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, fuzzy, python-format
msgid "Error processing message locally: %(exc)s"
msgstr "Error processing message. Skipping it."
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, fuzzy, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr "no method for message: %s"
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, fuzzy, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr "Failed to load extension %(ext_factory)s: %(exc)s"
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, fuzzy, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr "no method for message: %s"
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, fuzzy, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr "Sending message(s) to: %s"
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, fuzzy, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr "Casted '%(method)s' to compute '%(host)s'"
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Starting migration network for instance %(instance_uuid)s"
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
#, fuzzy
msgid "Got update to delete instance"
msgstr "Starting migration network for instance %(instance_uuid)s"
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "Destroying VDIs for Instance %(instance_uuid)s"
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3693,7 +3789,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3726,35 +3822,84 @@ msgstr "Launching VPN for %s"
msgid "Failed to load %s"
msgstr "Failed to create VM %s"
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, fuzzy, python-format
msgid "deployment to node %s failed"
msgstr "element is not a child"
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3777,326 +3922,326 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "received %s"
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, fuzzy, python-format
msgid "error: %s"
msgstr "DB error: %s"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "Reset network"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "start address"
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
#, fuzzy
msgid "No fixed IP found."
msgstr "Zero fixed ips could be found."
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, fuzzy, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr "No fixed ips associated to instance"
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "Floating ip %(address)s already exists."
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr "id"
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr "IPv4"
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr "IPv6"
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr "start address"
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr "DNS1"
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr "DNS2"
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr "VlanID"
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr "project"
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr "uuid"
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "Network not found"
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
#, fuzzy
msgid "UUID is required to delete Quantum Networks"
msgstr "%(req)s is required to create a network."
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "stop instance"
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr "Service %(service_id)s could not be found."
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr "Service %(service_id)s could not be found."
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "Unexpected error: %s"
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
#, fuzzy
msgid "PROJECT"
msgstr "project"
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
#, fuzzy
msgid "Must supply valid parameters to create instance_type"
msgstr "Unable to create instance type"
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "instance not present"
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
#, fuzzy
msgid "Unknown error"
msgstr "unknown guestmount error"
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, fuzzy, python-format
msgid "%s created"
msgstr "Table |%s| not created!"
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
#, fuzzy
msgid "Valid instance type name is required"
msgstr "%s is a valid instance name"
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "DB error: %s"
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, fuzzy, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr "%(key)s with value %(value)s failed validator %(name)s"
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "hyperv vm state: %s"
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -4110,16 +4255,16 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr "Cannot run any more instances of this type."
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr "Can only run %s more instances of this type."
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
@@ -4128,7 +4273,7 @@ msgstr ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
@@ -4137,93 +4282,93 @@ msgstr ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr "Metadata property key blank"
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr "Metadata property key greater than 255 characters"
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr "Metadata property value greater than 255 characters"
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Unable to attach boot volume to instance %s"
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr "Going to run %s instances..."
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr "bdm %s"
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr "block_device_mapping %s"
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
#, fuzzy
msgid "instance termination disabled"
msgstr "Going to start terminating instances"
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "Instance type %(instance_type_id)s could not be found."
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "Going to start terminating instances"
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, fuzzy, python-format
msgid "instance's host %s is down, deleting from database"
msgstr "host for instance is down, deleting from database"
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr "Going to try to soft delete instance"
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr "Going to try to terminate instance"
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr "Going to try to stop instance"
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr "Going to try to start instance"
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr "Searching by: %s"
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr "snapshot for %s"
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr "flavor_id is None. Assuming migration."
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
@@ -4232,63 +4377,63 @@ msgstr ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, fuzzy, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr "%(overs)s quota exceeded for %(pid)s, tried to resize instance. %(msg)s"
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr "Locking"
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr "Unlocking"
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr "Volume must be attached in order to detach."
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "Going to try to live migrate instance to %s"
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr "Keypair name contains unsafe characters"
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr "Keypair name must be between 1 and 255 characters long"
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr "Security group %s is not a string or unicode"
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr "Security group %s cannot be empty."
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
@@ -4297,68 +4442,68 @@ msgstr ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr "Security group %s should not be greater than 255 characters."
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr "Quota exceeded, too many security groups."
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr "Create Security Group %s"
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr "Security group %s already exists"
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Unable to destroy vbd %s"
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Unable to destroy vbd %s"
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr "Security group is still in use"
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr "Failed to update usages deallocating security group"
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr "Delete security group %s"
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr "Rule (%s) not found"
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr "Quota exceeded, too many security group rules."
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr "Authorize security group ingress %s"
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr "Revoke security group ingress %s"
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr "Security group id should be integer"
@@ -4426,14 +4571,14 @@ msgid "names can only contain [a-zA-Z0-9_.- ]"
msgstr "names can only contain [a-zA-Z0-9_.- ]"
#: nova/compute/flavors.py:101
-#, fuzzy, python-format
-msgid "'%s' argument must be greater than 0"
-msgstr "Volume size '%s' must be an integer and greater than 0"
+#, python-format
+msgid "'%s' argument must be a positive integer"
+msgstr ""
#: nova/compute/flavors.py:110
-#, fuzzy, python-format
-msgid "'%s' argument must be greater than or equal to 0"
-msgstr "Volume size '%s' must be an integer and greater than 0"
+#, python-format
+msgid "'%s' argument must be an integer greater than or equal to 0"
+msgstr ""
#: nova/compute/flavors.py:119
#, fuzzy
@@ -4454,257 +4599,277 @@ msgstr "DB error: %s"
msgid "Instance type %s not found for deletion"
msgstr "Instance type %s not found for deletion"
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr "Possibly task preempted."
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr "Instance has been destroyed from under us while trying to set it to ERROR"
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, fuzzy, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Failed to terminate instance"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr "Current state is %(drv_state)s, state in DB is %(db_state)s."
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr "Rebooting instance after nova-compute restart."
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr "Hypervisor driver does not support resume guests"
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
#, fuzzy
msgid "Failed to resume instance"
msgstr "Failed to suspend instance"
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr "Hypervisor driver does not support firewall rules"
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "Unexpected status code"
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr "Checking state"
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr "Setting up bdm %s"
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr "Failed to dealloc network for deleted instance"
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
#, fuzzy
msgid "Instance was deleted during spawn."
msgstr "Instance failed to spawn"
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, fuzzy, python-format
msgid "Error: %s"
msgstr "DB error: %s"
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr "Error trying to reschedule"
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr "Retry info not present, will not reschedule"
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr "No request spec, will not reschedule"
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, fuzzy, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr "Re-scheduling instance: attempt %d"
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr "Instance build timed out. Set to error state."
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr "Starting instance..."
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
#, fuzzy
msgid "Allocating IP information in the background."
msgstr "Floating ip pool not found."
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
-msgstr "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
+msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr "Instance network_info: |%s|"
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr "Instance failed block device setup"
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr "Instance failed to spawn"
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr "Deallocating network for instance"
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Failed to dealloc network for deleted instance"
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr "%(action_str)s instance"
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr "Ignoring DiskNotFound: %s"
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr "Ignoring VolumeNotFound: %s"
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr "terminating bdm %s"
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr "Ignoring volume cleanup failure due to %s"
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr "%s. Setting instance vm_state to ERROR"
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr "Rebuilding instance"
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, fuzzy, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr "%(path)s is not on shared storage: %(reason)s"
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Attach boot from volume failed: %s"
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr "Rebooting instance"
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
@@ -4713,21 +4878,25 @@ msgstr ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
#, fuzzy
msgid "Instance disappeared during reboot"
msgstr "instance %s: rebooted"
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr "instance snapshotting"
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
@@ -4736,161 +4905,161 @@ msgstr ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr "Found %(num_images)d images (rotation: %(rotation)d)"
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr "Rotating out %d backups"
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr "Deleting image %s"
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr "Failed to set admin password. Instance %s is not running"
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr "Root password set"
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
#, fuzzy
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr "set_admin_password is not implemented by this driver."
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr "set_admin_password failed: %s"
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr "error setting admin password"
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr "Rescuing"
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Error trying to reschedule"
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "DB error: %s"
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr "Unrescuing"
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, fuzzy, python-format
msgid "Updating instance to original state: '%s'"
msgstr "Setting instance to %(state)s state."
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
#, fuzzy
msgid "Instance has no source host"
msgstr "Instance has no volume."
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr "destination same as source!"
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr "Migrating"
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr "Pausing"
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr "Unpausing"
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr "Retrieving diagnostics"
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr "Resuming"
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr "Reset network"
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr "Inject network info"
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr "network_info to inject: |%s|"
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr "Get console output"
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr "Getting vnc console"
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
#, fuzzy
msgid "Getting spice console"
msgstr "Getting vnc console"
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr "Booting with volume %(volume_id)s at %(mountpoint)s"
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr "Attaching volume %(volume_id)s to %(mountpoint)s"
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
@@ -4899,59 +5068,59 @@ msgstr ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr "Failed to attach volume %(volume_id)s at %(mountpoint)s"
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr "Detach volume %(volume_id)s from mountpoint %(mp)s"
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr "Detaching volume from unknown instance"
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "Faild to detach volume %(volume_id)s from %(mp)s"
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, fuzzy, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr "allocate_for_instance() for %s"
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr "_post_live_migration() is started.."
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
@@ -4959,20 +5128,20 @@ msgstr ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr "Post operation of migration started"
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Failed to get info for disk %s"
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr "Updated the info_cache for instance"
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
@@ -4981,12 +5150,12 @@ msgstr ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr "Setting migration %(migration_id)s to error: %(reason)s"
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
@@ -4995,26 +5164,26 @@ msgstr ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr "In ERROR state"
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, fuzzy, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr "In states %(vm_state)s/%(task_state)s, notRESIZED/None"
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
@@ -5023,25 +5192,25 @@ msgstr ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr "Failed to generate usage audit for instance on host %s"
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr "Updating bandwidth usage cache"
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Updating bandwidth usage cache"
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr "Updating host status"
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
@@ -5050,11 +5219,11 @@ msgstr ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr "During sync_power_state the instance has a pending task. Skip."
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
@@ -5063,76 +5232,76 @@ msgstr ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr "Instance shutdown by itself. Calling the stop API."
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr "error during stop() in sync_power_state."
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
#, fuzzy
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr "Instance is paused or suspended unexpectedly. Calling the stop API."
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
#, fuzzy
msgid "Instance is paused unexpectedly. Ignore."
msgstr "Instance is paused or suspended unexpectedly. Calling the stop API."
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr "Instance is not stopped. Calling the stop API."
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr "Instance is not (soft-)deleted."
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
#, fuzzy
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr "FLAGS.reclaim_instance_interval <= 0, skipping..."
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr "Reclaiming deleted instance"
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Loading compute driver '%s'"
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr "No service record for host %s"
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, fuzzy, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr "Setting instance to %(state)s state."
@@ -5242,11 +5411,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr "Missing keys: %s"
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr "No compute host specified"
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr "Unable to find host for Instance %s"
@@ -5262,16 +5431,37 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
#, fuzzy
msgid "Invalid block_device_mapping_destroy invocation"
msgstr "block_device_mapping %s"
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr "Adding console"
@@ -5353,7 +5543,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "Failed to reboot instance"
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5376,44 +5566,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr "Unrecognized read_deleted value '%s'"
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, fuzzy, python-format
msgid "Invalid floating ip id %s in request"
msgstr "instance %s: rescued"
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, fuzzy, python-format
msgid "Invalid floating IP %s in request"
msgstr "instance %s: rescued"
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, fuzzy, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr "instance %s: rescued"
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, fuzzy, python-format
msgid "Invalid virtual interface address %s in request"
msgstr "instance %s: rescued"
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "instance %s: rescued"
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr "Change will make usage less than 0 for the following resources: %(unders)s"
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5444,43 +5634,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
#, fuzzy
msgid "Unsupported id columns type"
msgstr "Unsupported Content-Type"
@@ -5513,47 +5703,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr "Fetching image '%s' from glance"
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr "Failed to download %(image_location)s to %(image_path)s"
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr "Failed to decrypt %(image_location)s to %(image_path)s"
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr "Failed to untar %(image_location)s to %(image_path)s"
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr "Failed to upload %(image_location)s to %(image_path)s"
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr "Failed to decrypt private key: %s"
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr "Failed to decrypt initialization vector: %s"
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr "Failed to decrypt image file %(image_file)s: %(err)s"
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr "Unsafe filenames in image"
@@ -5770,42 +5960,42 @@ msgstr "killing radvd threw %s"
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d is stale, relaunching radvd"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "Invalid mode: '%s'"
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr "Starting VLAN interface %s"
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "Starting bridge %s "
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, fuzzy, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr "Ensuring vlan %(vlan)s and bridge %(bridge)s"
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr "Failed to add interface: %s"
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr "Starting bridge %s "
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr "Done starting bridge %s"
@@ -5933,7 +6123,7 @@ msgstr "Network already exists!"
msgid "Network must be disassociated from project %s before delete"
msgstr "Network must be disassociated from project %s before delete"
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
@@ -5941,7 +6131,7 @@ msgstr ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, fuzzy, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5979,156 +6169,156 @@ msgstr "_delete: %s"
msgid "Cannot delete domain |%s|"
msgstr "Cannot delete aggregate: %(id)s"
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr "v4 subnets are required for legacy nw_info"
-#: nova/network/quantumv2/__init__.py:67
-#, fuzzy
-msgid "quantum authentication failed"
-msgstr "Authentication error"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
+msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr "allocate_for_instance() for %s"
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr "empty project id for instance %s"
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
#, fuzzy
msgid "Port not found"
msgstr "Host not found"
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr "Fail to delete port %(portid)s with failure: %(exception)s"
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr "deallocate_for_instance() for %s"
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr "Failed to delete quantum port %(portid)s "
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, fuzzy, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr "Failed to delete quantum port %(portid)s "
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr "get_instance_nw_info() for %s"
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, fuzzy, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr "Fail to delete port %(portid)s with failure: %(exception)s"
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, fuzzy, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr "Fail to delete port %(portid)s with failure: %(exception)s"
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr "validate_networks() for %s"
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr "Multiple floating IP pools matches found for name '%s'"
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, fuzzy, python-format
msgid "Quantum Error creating security group %s"
msgstr "Delete security group %s"
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, fuzzy, python-format
msgid "Quantum Error updating security group %s"
msgstr "Delete security group %s"
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, fuzzy, python-format
msgid "Quantum security group %s not found"
msgstr "Delete security group %s"
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "Caught error: %s"
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
#, fuzzy
msgid "Quantum Error getting security groups"
msgstr "Delete security group %s"
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
#, fuzzy
msgid "Security group id should be uuid"
msgstr "Security group id should be integer"
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "Delete security group %s"
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
#, fuzzy
msgid "Quantum Error:"
msgstr "Caught error: %s"
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, fuzzy, python-format
msgid "Quantum security group rule %s not found"
msgstr "Security group with rule %(rule_id)s not found."
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, fuzzy, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr "Security group %(security_group_id)s not found for project %(project_id)s."
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, fuzzy, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -6152,12 +6342,12 @@ msgstr "error setting admin password"
msgid "Invalid version string"
msgstr "Invalid server_string: %s"
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6363,11 +6553,21 @@ msgstr "Caught %s, stopping children"
msgid "Waiting on %d children to exit"
msgstr "Waiting on %d children to exit"
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, fuzzy, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr "Unknown base file: %s"
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr "DB exception wrapped."
@@ -6419,11 +6619,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr "Could not send notification to %(topic)s. Payload=%(message)s"
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr "Failed to load plugin %(plug)s: %(exc)s"
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6859,72 +7054,67 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr "No key defining hosts for topic '%s', see ringfile"
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr "Is the appropriate service running?"
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr "Could not find another compute"
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr "Exception during scheduler.run_instance"
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
-msgstr "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
+msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr "Driver must implement schedule_prep_resize"
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr "Driver must implement schedule_run_instance"
-#: nova/scheduler/driver.py:169
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
+msgstr ""
+
+#: nova/scheduler/driver.py:172
#, fuzzy
msgid "Driver must implement select_hosts"
msgstr "Driver must implement schedule_run_instance"
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
-msgstr ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
-
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, fuzzy, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr "Attempting to build %(num_instances)d instance(s)"
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, fuzzy, python-format
msgid "Request Spec: %s"
msgstr "Request: %s"
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, fuzzy, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr "Destroying VDIs for Instance %(instance_uuid)s"
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr "Invalid value for 'scheduler_max_attempts', must be >= 1"
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
@@ -6933,17 +7123,17 @@ msgstr ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr "Filtered %(hosts)s"
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, fuzzy, python-format
msgid "Weighed %(hosts)s"
msgstr "Filtered %(hosts)s"
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, fuzzy, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6980,36 +7170,36 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr "Received %(service_name)s service update from %(host)s."
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, fuzzy, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr "Received %(service_name)s service update from %(host)s."
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr "No service for compute ID %s"
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
-#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
-msgstr "Failed to schedule_%(method)s: %(ex)s"
-
#: nova/scheduler/scheduler_options.py:71
#, python-format
msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr "Could not stat scheduler options file %(filename)s: '%(e)s'"
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/scheduler_options.py:80
+#, python-format
+msgid "Could not decode scheduler options: '%s'"
+msgstr ""
+
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
-msgstr "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
+msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
#, python-format
@@ -7032,7 +7222,7 @@ msgstr "%(host_state)s fails instance_type extra_specs requirements"
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -7050,10 +7240,23 @@ msgstr "%(host_state)s is disabled or has not been heard from in a while"
msgid "%(host_state)s is disabled via capabilities"
msgstr "%(host_state)s is disabled via capabilities"
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr "VCPUs not set; assuming CPU collection broken"
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -7113,7 +7316,7 @@ msgstr ""
"%(host_state)s fails num_instances check: Max instances per host is set "
"to %(max_instances)s"
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
@@ -7122,6 +7325,11 @@ msgstr ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7307,7 +7515,7 @@ msgstr "200 No Roles"
msgid "unexpected role header"
msgstr "unexpected role header"
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
@@ -7316,53 +7524,55 @@ msgstr ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr "Running instances: %s"
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr "After terminating instances: %s"
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr "Internal error"
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr "After force-killing instances: %s"
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
#, fuzzy
msgid "spawn error"
msgstr "unknown guestmount error"
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7491,19 +7701,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr "Expected a function in 'auth[1]' parameter"
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr "Creating files in %s to simulate guest agent"
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr "Removing simulated guest agent files in %s"
@@ -7513,25 +7723,25 @@ msgstr "Removing simulated guest agent files in %s"
msgid "Added %(filepath)s to config drive"
msgstr "Added %(filepath)s to config drive"
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr "Compute driver option required, but not specified"
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr "Loading compute driver '%s'"
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
#, fuzzy
msgid "Unable to load the virtualization driver"
msgstr "Unable to load the virtualization driver: %s"
@@ -7541,7 +7751,7 @@ msgstr "Unable to load the virtualization driver: %s"
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr "Attempted to unfilter instance which is not filtered"
@@ -7563,20 +7773,20 @@ msgstr "Adding security group rule: %r"
msgid "Adding provider rule: %s"
msgstr "Adding provider rule: %s"
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr "'qemu-img info' parsing failed."
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr "fmt=%(fmt)s backed by: %(backing_file)s"
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr "Converted to raw, but format is now %s"
@@ -7595,37 +7805,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, fuzzy, python-format
msgid "Destroy called on non-existing instance %s"
msgstr "get_info called for instance"
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7679,85 +7889,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "floating IP allocation for instance |%s|"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, fuzzy, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr "Fetching image '%s' from glance"
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, fuzzy, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr "Injecting %(injection)s into image %(img_id)s"
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, fuzzy, python-format
msgid "PXE deploy started for instance %s"
msgstr "empty project id for instance %s"
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, fuzzy, python-format
msgid "PXE deploy completed for instance %s"
msgstr "Get console output for instance %s"
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, fuzzy, python-format
msgid "PXE deploy failed for instance %s"
msgstr "empty project id for instance %s"
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, fuzzy, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr "Timeout while waiting on RPC response."
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "empty project id for instance %s"
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Get console output for instance %s"
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr "Node is unknown error state."
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "Unable to find host for Instance %s"
@@ -7845,24 +8055,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, fuzzy, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr "Could not determine iscsi initiator name"
@@ -7872,7 +8082,7 @@ msgstr "Could not determine iscsi initiator name"
msgid "No fixed PXE IP is associated to %s"
msgstr "No fixed ips associated to instance"
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7886,23 +8096,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-#, fuzzy
-msgid "No more PXE IPs available"
-msgstr "No more floating ips available."
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, fuzzy, python-format
msgid "Baremetal interface %s not found"
msgstr "partition %s not found"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, fuzzy, python-format
msgid "Baremetal interface %s already in use"
msgstr "Virtual Interface creation failed"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, fuzzy, python-format
msgid "Baremetal virtual interface %s not found"
msgstr "partition %s not found"
@@ -8017,12 +8222,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -8279,12 +8484,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, fuzzy, python-format
msgid "File path %s not valid"
msgstr "injected file path not valid"
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, fuzzy, python-format
msgid "Failed to mount image %(ex)s)"
msgstr "Failed to update agent: %(resp)r"
@@ -8313,24 +8518,24 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr "The ISCSI initiator name can't be found. Choosing the default one"
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr "plug_vifs called"
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
#, fuzzy
msgid "unplug_vifs called"
msgstr "plug_vifs called"
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr "ensure_filtering_rules_for_instance called"
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr "unfilter_instance called"
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr "get_console_output called"
@@ -8343,7 +8548,7 @@ msgstr "Windows version: %s "
msgid "get_available_resource called"
msgstr "get_available_resource called"
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr "Updating host stats"
@@ -8363,19 +8568,19 @@ msgstr "Release address %s"
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, fuzzy, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8467,17 +8672,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, fuzzy, python-format
msgid "Starting live migration for VM: %s"
msgstr "Starting live migration for instance: %s"
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr "Getting live migration networks for remote host: %s"
@@ -8496,11 +8701,11 @@ msgstr "Updating agent to %s"
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8525,7 +8730,7 @@ msgstr "finish_revert_migration called"
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, fuzzy, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
@@ -8534,22 +8739,22 @@ msgstr ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, fuzzy, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, fuzzy, python-format
msgid "Getting info for disk: %s"
msgstr "Getting info for VHD %s"
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, fuzzy, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
@@ -8558,16 +8763,16 @@ msgstr ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr "finish_migration called"
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, fuzzy, python-format
msgid "Cannot find boot VHD file: %s"
msgstr "Unknown base file: %s"
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8586,12 +8791,12 @@ msgstr "Created switch port %(vm_name)s on switch %(ext_path)s"
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, fuzzy, python-format
msgid "Creating directory: %s"
msgstr "Creating directory with path %s"
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, fuzzy, python-format
msgid "Removing directory: %s"
msgstr "Creating directory with path %s"
@@ -8611,12 +8816,12 @@ msgstr "Getting info for VHD %s"
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
@@ -8625,31 +8830,29 @@ msgstr ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-"Updating Glance image %(image_id)s with content from merged disk "
-"%(image_vhd_path)s"
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
-msgstr "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
+msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr "Removing snapshot %s"
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr "Failed to remove snapshot for VM %s"
@@ -8675,101 +8878,101 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, fuzzy, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, fuzzy, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
#, fuzzy
msgid "Spawning new instance"
msgstr "Starting instance"
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
#, fuzzy
msgid "Spawn instance failed"
msgstr "PowerVM instance cleanup failed"
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, fuzzy, python-format
msgid "Creating nic for instance: %s"
msgstr "Creating snapshot for instance %s"
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, fuzzy, python-format
msgid "Using config drive for instance: %s"
msgstr "Using config drive"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr "Creating config drive at %(path)s"
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "Creating config drive at %(path)s"
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, fuzzy, python-format
msgid "Got request to destroy instance: %s"
msgstr "Got request to destroy vm %s"
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, fuzzy, python-format
msgid "Instance not found: %s"
msgstr "Instance not found"
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, fuzzy, python-format
msgid "Failed to destroy instance: %s"
msgstr "Failed to destroy vm %s"
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
#, fuzzy
msgid "reboot instance"
msgstr "Rebooting instance"
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr "Pause instance"
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr "Unpause instance"
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr "Suspend instance"
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr "Resume instance"
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr "Power off instance"
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr "Power on instance"
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, fuzzy, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr "Successfully changed vm state of %(vm_name)s to %(req_state)s"
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr "Failed to change vm state of %(vm_name)s to %(req_state)s"
@@ -8803,29 +9006,29 @@ msgstr "Controller not found"
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr "Successfully changed vm state of %(vm_name)s to %(req_state)s"
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, fuzzy, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr "WMI job succeeded: %(desc)s, Elapsed=%(elap)s "
@@ -8837,53 +9040,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, fuzzy, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr "Attach volume failed: %s"
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr "Unable to attach volume to instance %s"
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, fuzzy, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr "Detach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, fuzzy, python-format
msgid "Detaching physical disk from instance: %s"
msgstr "Creating snapshot for instance %s"
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr "Could not determine iscsi initiator name"
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr "Unable to find a mounted disk for target_iqn: %s"
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8913,220 +9116,216 @@ msgstr "Unable to find vbd for vdi %s"
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Connecting to libvirt: %s"
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "Volume %s does not exist in Nexenta SA"
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr "Connection to libvirt broke"
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr "Can not handle authentication request for %d credentials"
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Connecting to libvirt: %s"
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr "During wait destroy, instance disappeared."
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr "Instance destroyed successfully."
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Going to stop instances"
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr "Error from libvirt during undefineFlags. Retrying with undefine"
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
-msgstr "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
+msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr "Failed to cleanup directory %(target)s: %(e)s"
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
#, fuzzy
msgid "Could not determine fibre channel world wide node names"
msgstr "Could not determine iscsi initiator name"
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
#, fuzzy
msgid "Could not determine fibre channel world wide port names"
msgstr "Could not determine iscsi initiator name"
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr "During detach_volume, instance disappeared."
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
#, fuzzy
msgid "attaching network adapter failed."
msgstr "No networks defined."
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
#, fuzzy
msgid "During detach_interface, instance disappeared."
msgstr "During detach_volume, instance disappeared."
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
#, fuzzy
msgid "detaching network adapter failed."
msgstr "No networks defined."
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr "Instance soft rebooted successfully."
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr "Failed to soft reboot instance."
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr "Instance shutdown successfully."
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr "Instance rebooted successfully."
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr "Instance is running"
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr "Instance spawned successfully."
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "data: %(data)r, fpath: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr "Guest does not have a console available"
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr "Path '%(path)s' supports direct I/O"
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr "Path '%(path)s' does not support direct I/O: '%(ex)s'"
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr "Creating image"
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr "Using config drive"
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, fuzzy, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr "Injecting %(injection)s into image %(img_id)s"
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, fuzzy, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr "Ignoring error injecting data into image %(img_id)s (%(e)s)"
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
@@ -9135,20 +9334,20 @@ msgstr ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr "Config requested a custom CPU model, but no model name was provided"
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr "A CPU model name should not be set when a host CPU model is requested"
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr "CPU mode '%(mode)s' model '%(model)s' was chosen"
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
@@ -9156,7 +9355,7 @@ msgstr ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -9164,19 +9363,19 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
@@ -9185,32 +9384,48 @@ msgstr ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, fuzzy, python-format
msgid "Invalid exclusion expression %r"
msgstr "Invalid reservation expiration %(expire)s."
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, fuzzy, python-format
msgid "Invalid inclusion expression %r"
msgstr "Invalid reservation expiration %(expire)s."
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
#, fuzzy
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
@@ -9219,25 +9434,25 @@ msgstr ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. This error can be safely ignored for now."
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr "libvirt version is too old (does not support getVersion)"
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "Getting image size for the image %s"
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -9245,21 +9460,21 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, fuzzy, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
@@ -9268,15 +9483,15 @@ msgstr ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr "Block migration can not be used with shared storage."
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr "Live migration can not be used without shared storage."
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
@@ -9285,7 +9500,7 @@ msgstr ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
@@ -9294,7 +9509,7 @@ msgstr ""
"Instance launched has CPU info:\n"
"%s"
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9309,7 +9524,7 @@ msgstr ""
"\n"
"Refer to %(u)s"
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
@@ -9318,22 +9533,22 @@ msgstr ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr "The firewall filter for %s does not exist"
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
-msgstr "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
+msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, fuzzy, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr "plug_vifs() failed %(cnt)d.Retry up to %(max_retry)d for %(hostname)s."
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, fuzzy, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
@@ -9342,41 +9557,46 @@ msgstr ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
#, python-format
-msgid "skipping %(path)s since it looks like volume"
-msgstr "skipping %(path)s since it looks like volume"
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
+#, python-format
+msgid "skipping disk for %s as it does not have a path"
+msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr "Getting disk size of %(i_name)s: %(e)s"
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr "Starting migrate_disk_and_power_off"
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr "Instance running successfully."
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr "Starting finish_migration"
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr "Starting finish_revert_migration"
-#: nova/virt/libvirt/driver.py:3895
-#, fuzzy, python-format
-msgid "Checking instance files accessability%(instance_path)s"
-msgstr "Deleting instance files %(target)s"
+#: nova/virt/libvirt/driver.py:3982
+#, python-format
+msgid "Checking instance files accessability %s"
+msgstr ""
#: nova/virt/libvirt/firewall.py:51
msgid ""
@@ -9396,15 +9616,15 @@ msgstr "Ensuring static filters"
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
-msgstr "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
+msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr "iptables firewall: Setup Basic Filtering"
@@ -9564,15 +9784,15 @@ msgstr "Removable base files: %s"
msgid "Verification complete"
msgstr "Verification complete"
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
@@ -9581,7 +9801,7 @@ msgstr ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9592,61 +9812,62 @@ msgstr ""
"Virtual volume size is %(size)db, but free space on volume group is only "
"%(free_space)db."
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, fuzzy, python-format
msgid "vg %s must be LVM volume group"
msgstr "Path %s must be LVM logical volume"
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr "Path %s must be LVM logical volume"
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr "Can't retrieve root device path from instance libvirt configuration"
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, fuzzy, python-format
msgid "Unexpected vif_type=%s"
msgstr "Unexpected error: %s"
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr "Ensuring vlan %(vlan)s and bridge %(bridge)s"
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr "Ensuring bridge %s"
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr "Failed while unplugging vif"
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9654,7 +9875,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9662,7 +9883,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9670,7 +9891,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9838,12 +10059,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr "Uncompressed image file not found"
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9871,16 +10092,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr "File transfer to PowerVM manager failed"
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, fuzzy, python-format
msgid "Attempting to resolve %s"
msgstr "Attempting to bind NIC to %s "
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9890,7 +10111,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9967,73 +10188,73 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr "LPAR instance '%s' not found"
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr "PowerVM image creation failed: %s"
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr "Creating LPAR instance '%s'"
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr "LPAR instance '%s' creation failed"
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr "Activating the LPAR instance '%s'"
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr "Instance '%s' failed to boot"
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, fuzzy, python-format
msgid "Instance spawned in %s seconds"
msgstr "instance %s spawned successfully"
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr "During destroy, LPAR instance '%s' was not found on PowerVM system."
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, fuzzy, python-format
msgid "Stopping instance %s for snapshot."
msgstr "instance snapshotting"
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr "Shutting down the instance '%s'"
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr "Deleting the LPAR instance '%s'"
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr "PowerVM instance cleanup failed"
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr "Not enough free memory in the host"
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr "Insufficient available CPU on PowerVM"
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
#, fuzzy
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
@@ -10043,32 +10264,36 @@ msgstr ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMWareESXDriver"
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, fuzzy, python-format
msgid "VMware Cluster %s is not found"
msgstr "marker [%s] not found"
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr "In vmwareapi:_create_session, got this exception: %s"
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr "In vmwareapi:_call_method, got this exception: %s"
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr "Task [%(task_name)s] %(task_ref)s status: success"
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr "In vmwareapi:_poll_task, Got this error %s"
@@ -10078,39 +10303,39 @@ msgstr "In vmwareapi:_poll_task, Got this error %s"
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr "Error(s) %s occurred in the call to RetrieveProperties"
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr "%(text)s: _db_content => %(content)s"
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr "Property %(attr)s not set for the managed object %(name)s"
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr "There is no VM registered"
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr "Virtual Machine with ref %s is not there"
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr "Logging out a session that is invalid or already logged out: %s"
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr "Session is faulty"
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr "Session Invalid"
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
#, fuzzy
msgid "No Virtual Machine has been registered yet"
msgstr " No Virtual Machine has been registered yet"
@@ -10343,12 +10568,12 @@ msgstr "Doing hard reboot of VM"
msgid "Did hard reboot of VM"
msgstr "Did hard reboot of VM"
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
#, fuzzy
msgid "Destroying the VM"
msgstr "Destroying VM"
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
#, fuzzy
msgid "Destroyed the VM"
msgstr "VM destroyed"
@@ -10466,36 +10691,36 @@ msgstr "Powering off the VM"
msgid "Powered on the VM"
msgstr "Powered off the VM"
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "Updating progress to %(progress)d"
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Creating volume: %s"
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr "instance not present"
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, fuzzy, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
@@ -10504,66 +10729,71 @@ msgstr ""
"In vmwareapi:vmops:destroy, got this exception while un-registering the "
"VM: %s"
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Creating volume: %s"
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Create volume from snapshot %s"
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, fuzzy, python-format
msgid "Automatically hard rebooting %d"
msgstr "Automatically hard rebooting"
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr "get_diagnostics not implemented for vmwareapi"
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
#, fuzzy
msgid "Reconfiguring VM instance to set the machine id"
msgstr "Reconfiguring VM instance to attach the image disk"
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
#, fuzzy
msgid "Reconfigured VM instance to set the machine id"
msgstr "Reconfigured VM instance to attach the image disk"
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, fuzzy, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr "Reconfiguring VM instance to set the machine id with ip - %(ip_addr)s"
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, fuzzy, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr "Reconfigured VM instance to set the machine id with ip - %(ip_addr)s"
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr "Creating directory with path %s"
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr "Created directory with path %s"
@@ -10608,7 +10838,7 @@ msgstr "Re-scanning SR %s"
msgid "Rescanned HBA %s "
msgstr "Re-scanning SR %s"
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr "Mountpoint cannot be translated: %s"
@@ -10686,12 +10916,12 @@ msgstr "Failed to find volume in db"
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
@@ -10700,74 +10930,55 @@ msgstr ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr "The call to %(method)s returned an error: %(e)s. args=%(args)r"
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr "Querying agent version"
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr "Reached maximum time attempting to query agent version"
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr "Updating agent to %s"
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr "Setting admin password"
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr "Injecting file path: %r"
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr "Resetting network"
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
@@ -10775,7 +10986,7 @@ msgstr ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
@@ -10783,15 +10994,15 @@ msgstr ""
"XenServer tools are present in this image but are not capable of network "
"injection"
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr "XenServer tools are not installed in this image"
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr "OpenSSL error: %s"
@@ -10810,54 +11021,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr "Failure while cleaning up attached VDIs"
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr "Could not determine key: %s"
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr "Host startup on XenServer is not supported."
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr "Unable to log in to XenAPI (is the Dom0 disk full?)"
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr "Host is member of a pool, but DB says otherwise"
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr "Got exception: %s"
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr "Raising NotImplemented"
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr "xenapi.fake does not have an implementation for %s"
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr "Calling getter %s"
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr "Calling setter %s"
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -11129,29 +11340,29 @@ msgstr "Invalid value '%s' for xenapi_torrent_images"
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, fuzzy, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
"Image size %(size_bytes)d exceeded instance_type allowed size "
"%(allowed_size_bytes)d"
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr "Fetching image %(image_id)s, type %(image_type_str)s"
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr "Size for image %(image_id)s: %(virtual_size)d"
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
@@ -11160,63 +11371,63 @@ msgstr ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr "Copying VDI %s to /boot/guest on dom0"
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Kernel/Ramdisk VDI %s destroyed"
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr "Failed to fetch glance image"
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr "Detected %(image_type_str)s format for image %(image_ref)s"
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "Looking up vdi %s for PV kernel"
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr "VDI %s is still available"
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr "Re-scanning SR %s"
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr "Flag sr_matching_filter '%s' does not respect formatting convention"
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
@@ -11226,50 +11437,50 @@ msgstr ""
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr "Cannot find SR of content-type ISO"
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr "ISO: not iso content"
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr "ISO: iso content_type, no 'i18n-key' key"
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr "ISO: SR MATCHing our criteria"
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr "ISO: ISO, looking to see if it is host local"
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr "ISO: SR with local PBD"
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
@@ -11278,22 +11489,22 @@ msgstr ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr "Invalid statistics data from Xenserver: %s"
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
@@ -11302,66 +11513,66 @@ msgstr ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr "Timeout waiting for device %s to be created"
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr "Disconnecting stale VDI %s from compute domU"
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr "Plugging VBD %s ... "
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr "Plugging VBD %s done."
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr "VBD %(vbd_ref)s plugged as %(orig_dev)s"
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "Destroying VBD for VDI %s ... "
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr "Destroying VBD for VDI %s done."
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr "Running pygrub against %s"
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr "Found Xen kernel %s"
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr "No Xen kernel found. Booting HVM."
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -11369,16 +11580,16 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr "Partitions:"
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr " %(num)s: %(ptype)s %(size)d sectors"
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
@@ -11387,19 +11598,19 @@ msgstr ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr "Writing partition table %s done."
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
@@ -11408,7 +11619,7 @@ msgstr ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
@@ -11417,16 +11628,16 @@ msgstr ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr "Manipulating interface files directly"
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr "Failed to mount filesystem (expected for non-linux instances): %s"
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr "This domU must be running on the host specified by xenapi_connection_url"
@@ -11701,11 +11912,16 @@ msgstr "Unable to introduce VDI for SR %s"
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11739,32 +11955,32 @@ msgstr "download_vhd failed: %r"
msgid "Error in handshake: %s"
msgstr "Error in handshake: %s"
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr "Invalid request: %s"
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr "Request: %s"
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr "Request made with missing token: %s"
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr "Request made with invalid token: %s"
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr "Unexpected error: %s"
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr "Starting nova-xvpvncproxy node (version %s)"
@@ -11784,237 +12000,21 @@ msgstr "status must be available"
msgid "status must be 'available'"
msgstr "status must be available"
-#~ msgid "Quota for %s should be integer."
-#~ msgstr "version should be an integer"
-
-#~ msgid "Unknown action"
-#~ msgstr "Unknown chain: %r"
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr "Instance type for vpn instances"
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr "Memory limit not specified, defaulting to unlimited"
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr "Cannot reboot instance: %(exc)s"
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr "injecting file to %(path)s"
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr "Changing instance metadata according to %(diff)r"
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr "Port %(port_id)s is still in use."
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr "Host %(host)s could not be found."
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr "Pre live migration failed at %(dest)s"
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr "Migrating instance to %(dest)s finished successfully."
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr "Instance %(instance_uuid)s not found"
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr "Error auto-confirming resize: %(e)s. Will retry later."
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-
-#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
-#~ msgstr ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "FLAGS.running_deleted_instance_action"
-
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr "Failed to query agent version: %(resp)r"
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr "Failed to update agent: %(resp)r"
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr "Failed to exchange keys: %(resp)r"
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr "Failed to update password: %(resp)r"
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr "Failed to inject file: %(resp)r"
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr "Failed to reset network: %(resp)r"
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr "Calling %(localname)s %(impl)s"
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr "Unable to eject %(host)s from the pool; pool not empty"
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr "Unable to eject %(host)s from the pool; No master found"
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr "Pool-Join failed: %(e)s"
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr "Unable to join %(host)s in the pool"
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr "Pool-eject failed: %(e)s"
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr "Unable to set up pool: %(e)s."
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr "Pool-set_name_label failed: %(e)s"
-
#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr "No primary VDI found for %(vm_ref)s"
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr "Asking xapi to fetch vhd image %(image_id)s"
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr "Unknown image format %(disk_image_type)s"
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr "Unable to parse rrd of %(vm_uuid)s"
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr "ISO: looking at SR %(sr_rec)s"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr "ISO: PBD %(pbd_ref)s disappeared"
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr "Unable to obtain RRD XML updates with server details: %(server)s."
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr "Updating progress to %(progress)d"
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+#~ msgstr "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr "Creating VIF for network %(network_ref)s"
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr "Creating SR %s"
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr "Introducing SR %s"
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr "Unable to obtain target information %(mountpoint)s"
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr "Unable to obtain target information %(connection_data)s"
-
-#~ msgid "Connect_volume: %(connection_info)s"
-#~ msgstr "Detach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
-
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
-#~ msgstr "LPAR instance '%(instance_name)s' could not be found"
diff --git a/nova/locale/es/LC_MESSAGES/nova.po b/nova/locale/es/LC_MESSAGES/nova.po
index 13cb6f2e0..0fe7fe393 100644
--- a/nova/locale/es/LC_MESSAGES/nova.po
+++ b/nova/locale/es/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2012-05-16 06:44+0000\n"
"Last-Translator: Paco Molinero <paco@byasl.com>\n"
"Language-Team: Spanish <es@li.org>\n"
@@ -84,305 +84,305 @@ msgstr "Fallo a reinicia la instancia"
msgid "Flags path: %s"
msgstr "Ruta a las opciones: %s"
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr "Una excepcion desconocida ha ocurrido"
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, fuzzy, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr "Fallo al desencriptar el texto"
-#: nova/exception.py:167
+#: nova/exception.py:169
#, fuzzy, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr "Fallo al desencriptar el texto"
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr "Creacion de interfaz virtual fallida"
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
"Fallaron los 5 intentos de crear una interfaz virtual con una dirección "
"mac única"
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr "No Autorizado"
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr "El usuario no tiene privilegios de administrador"
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr "La política no permite que la %(action)s se realice"
-#: nova/exception.py:198
+#: nova/exception.py:200
#, fuzzy, python-format
msgid "Image %(image_id)s is not active."
msgstr "La imagen %(image_id)s es inaceptable: %(reason)s"
-#: nova/exception.py:202
+#: nova/exception.py:204
#, fuzzy, python-format
msgid "Not authorized for image %(image_id)s."
msgstr "no hay método para el mensaje: %s"
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr "Parametros inaceptables"
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr "Volumen %(volume_id)s no está conectado con nada"
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr "La petición es inválida."
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr "Entrada invalida recibida"
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr "Volumen inválido"
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
#, fuzzy
msgid "Invalid metadata size"
msgstr "Firma invalida para el usuario %s"
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr "Rango de puertos invalido %(from_port)s:%(to_port)s. %(msg)s"
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "Protocolo IP invalido %(protocol)s"
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "Tipo de contenido invalido %(content_type)s."
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr "Cidr %(cidr)s invalido"
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr "%(err)s"
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "La instacia %(instance_id)s no se esta ejecutando"
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr "La instancia %(instance_id)s no esta en modo de rescate"
-#: nova/exception.py:323
+#: nova/exception.py:325
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "La instancia %(instance_id)s no esta en modo de rescate"
-#: nova/exception.py:327
+#: nova/exception.py:329
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr "Fallo al suspender la instancia"
-#: nova/exception.py:335
+#: nova/exception.py:337
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Fallo al generar metadatos para la ip %s"
-#: nova/exception.py:339
+#: nova/exception.py:341
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "Fallo al suspender la instancia"
-#: nova/exception.py:343
+#: nova/exception.py:345
#, fuzzy, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr "Fallo a reinicia la instancia"
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr "Fallo a reinicia la instancia"
-#: nova/exception.py:351
+#: nova/exception.py:353
#, fuzzy
msgid "Failed to terminate instance"
msgstr "Fallo a reinicia la instancia"
-#: nova/exception.py:355
+#: nova/exception.py:357
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Fallo a reinicia la instancia"
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr "El servicio no esta disponible en este momento"
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, fuzzy, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr "El servicio de computo no esta disponible en este momento"
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
"Incapaz de emigrar la instancia %(instance_id)s al actual anfitrion "
"(%(host)s)"
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr "Informacion del CPU inaceptable"
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr "%(address)s no es una direccion IP v4/6 valida"
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -390,86 +390,86 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr "Formato de disco %(disk_format)s no es aceptable"
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr "La imagen %(image_id)s es inaceptable: %(reason)s"
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "Cidr %(cidr)s invalido"
-#: nova/exception.py:448
+#: nova/exception.py:450
#, fuzzy
msgid "Constraint not met."
msgstr "instancia %s: rescatada"
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -477,899 +477,920 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
"El punto de montaje %(mountpoint)s esta unido a la instancia "
"%(instance_name)s"
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, fuzzy, python-format
msgid "Floating ip %(address)s already exists."
msgstr "el grupo %s ya existe"
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
#, fuzzy
msgid "Floating ip pool not found."
msgstr "configurando la red del host"
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, fuzzy, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:798
+#: nova/exception.py:796
#, fuzzy, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:803
+#: nova/exception.py:801
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "Tipo de contenido invalido %(content_type)s."
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "el grupo de volumenes %s no existe"
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, fuzzy, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:866
+#: nova/exception.py:868
#, fuzzy, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, fuzzy, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr "el grupo %s ya existe"
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, fuzzy, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr "el grupo %s ya existe"
-#: nova/exception.py:921
+#: nova/exception.py:923
#, fuzzy, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr "el grupo %s ya existe"
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, fuzzy, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, fuzzy, python-format
msgid "Marker %(marker)s could not be found."
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "No se puede unir la imagen con el loopback: %s"
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "No se puede unir la imagen con el loopback: %s"
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, fuzzy, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "La instancia %(instance_id)s no esta en modo de rescate"
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "La instancia %(instance_id)s no esta en modo de rescate"
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "el grupo %s ya existe"
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1384,15 +1405,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Fallo al generar metadatos para la ip %s"
@@ -1415,17 +1436,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1458,120 +1479,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr "Depuración de la devolución de llamada: %s"
-#: nova/utils.py:334
+#: nova/utils.py:362
+#, python-format
+msgid "Couldn't get IPv4 : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:379
+#, python-format
+msgid "IPv4 address is not found.: %s"
+msgstr ""
+
+#: nova/utils.py:382
+#, python-format
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:397
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "No se encuentra la dirección del enlace local.:%s"
-#: nova/utils.py:337
+#: nova/utils.py:400
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr "No se pudo obtener enlace de la ip local de %(interface)s :%(ex)s"
-#: nova/utils.py:376
+#: nova/utils.py:439
#, python-format
msgid "Invalid backend: %s"
msgstr "backend inválido: %s"
-#: nova/utils.py:437
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, fuzzy, python-format
msgid "Unable to find cert_file : %s"
msgstr "Imposible encontrar SR en VBD %s"
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, fuzzy, python-format
msgid "Unable to find ca_file : %s"
msgstr "Imposible encontrar SR en VBD %s"
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, fuzzy, python-format
msgid "Unable to find key_file : %s"
msgstr "Imposible encontrar SR en VBD %s"
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1585,7 +1616,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1732,265 +1763,260 @@ msgstr "Ha sucedido un error desconocido. Por favor repite el intento de nuevo."
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr "Creando par de claves %s"
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr "Borrar para de claves %s"
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "Protocolo IP invalido %(protocol)s"
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr "No hay regla para los parámetros especificados."
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, fuzzy, python-format
msgid "%s - This rule already exists in group"
msgstr "Esta regla ya existe en el grupo %s"
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr "Obtener salida de la consola para la instancia %s"
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr "Crear volumen de %s GB"
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "Desasociar volumen %s"
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
#, fuzzy
msgid "Detach Volume Failed."
msgstr "Desasociar volumen %s"
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr "atributo no soportado: %s"
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr "Asignar dirección"
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr "Liberar dirección %s"
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
#, fuzzy
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Desasociar dirección %s"
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
#, fuzzy
msgid "Error, unable to associate floating ip."
msgstr "Desasociar dirección %s"
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr "Desasociar dirección %s"
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr "Se va a iniciar la finalización de las instancias"
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr "Reiniciar instancia %r"
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr "Des-registrando la imagen %s"
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr "usuario o grupo no especificado"
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr "sólo el grupo \"all\" está soportado"
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr "operation_type debe ser añadir o eliminar"
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr "Actualizando imagen %s públicamente"
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
#, fuzzy
msgid "Only instances implemented"
msgstr "instancia %s: rescatada"
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
#, fuzzy
msgid "Invalid CIDR"
msgstr "Cidr %(cidr)s invalido"
@@ -2162,89 +2188,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2292,6 +2336,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2338,21 +2383,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, fuzzy, python-format
msgid "Invalid is_public filter [%s]"
msgstr "Firma invalida para el usuario %s"
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, fuzzy, python-format
msgid "Invalid minRam filter [%s]"
msgstr "Firma invalida para el usuario %s"
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2360,6 +2408,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2384,6 +2434,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2397,14 +2448,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2421,6 +2472,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2438,279 +2490,283 @@ msgid "Flavor '%s' could not be found "
msgstr "La instacia %(instance_id)s no esta suspendida"
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
#, fuzzy
msgid "HostId cannot be updated."
msgstr "Punto de montaje no puede ser traducido: %s"
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
#, fuzzy
msgid "Personality cannot be updated."
msgstr "Punto de montaje no puede ser traducido: %s"
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
#, fuzzy
msgid "Flavor used by the instance could not be found."
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
#, fuzzy
msgid "Image that the instance was started with could not be found."
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
#, fuzzy
msgid "Invalid instance image."
msgstr "instancia %s: rescatada"
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
#, fuzzy
msgid "Unable to set password on instance"
msgstr "Fallo a reinicia la instancia"
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2751,6 +2807,7 @@ msgstr "Compute.api::reset_network %s"
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2790,6 +2847,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2885,36 +2943,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, fuzzy, python-format
msgid "Cell %(id)s not found."
msgstr "La instacia %(instance_id)s no esta suspendida"
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2956,33 +3023,33 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
#, fuzzy
msgid "Invalid path"
msgstr "Captura no valida"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2993,40 +3060,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "configurando la red del host"
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3061,7 +3135,7 @@ msgstr "el grupo %s ya existe"
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3110,7 +3184,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3305,30 +3379,36 @@ msgid "Create networks failed"
msgstr "configurando la red del host"
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3340,7 +3420,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3358,16 +3438,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3393,7 +3473,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3452,12 +3532,17 @@ msgstr "Obtenida excepción %s"
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, fuzzy, python-format
msgid "Reserving IP address %s"
msgstr "Liberar dirección %s"
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, fuzzy, python-format
msgid "Unreserving IP address %s"
msgstr "Liberar dirección %s"
@@ -3476,153 +3561,166 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, fuzzy, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr "no hay método para el mensaje: %s"
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, fuzzy, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr "no hay método para el mensaje: %s"
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
#, fuzzy
msgid "Got update to delete instance"
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3634,7 +3732,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3667,35 +3765,84 @@ msgstr "Lanzando VPN para %s"
msgid "Failed to load %s"
msgstr "Imposible encontrar volumen %s"
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3716,320 +3863,320 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "recibido %s"
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, fuzzy, python-format
msgid "error: %s"
msgstr "Capturado error: %s"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "configurando la red del host"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "Asignar dirección"
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "el grupo %s ya existe"
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "configurando la red del host"
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "Reiniciar instancia %r"
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "Sucedió un error inexperado: %s"
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "instancia %s: rescatada"
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Capturado error: %s"
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "Capturado error: %s"
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -4043,257 +4190,257 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
#, fuzzy
msgid "Cannot run any more instances of this type."
msgstr ""
"Quota de instancias superada. Sólo puedes ejecutar %s instancias más de "
"este tipo."
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, fuzzy, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
"Quota de instancias superada. Sólo puedes ejecutar %s instancias más de "
"este tipo."
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Imposible adjuntar volumen a la instancia %s"
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
#, fuzzy
msgid "instance termination disabled"
msgstr "Se va a iniciar la finalización de las instancias"
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "Se va a iniciar la finalización de las instancias"
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
#, fuzzy
msgid "Going to try to soft delete instance"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
#, fuzzy
msgid "Going to try to terminate instance"
msgstr "Se va a iniciar la finalización de las instancias"
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
#, fuzzy
msgid "Going to try to stop instance"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
#, fuzzy
msgid "Going to try to start instance"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, fuzzy, python-format
msgid "snapshot for %s"
msgstr "Comenzando snapshot para la VM %s"
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, fuzzy, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "Se va a iniciar la finalización de las instancias"
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr "Crear Grupo de Seguridad %s"
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Imposible destruir VBD %s"
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Imposible destruir VBD %s"
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
#, fuzzy
msgid "Security group is still in use"
msgstr "Revocar ingreso al grupo de seguridad %s"
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr "Borrar grupo de seguridad %s"
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr "Autorizar ingreso al grupo de seguridad %s"
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr "Revocar ingreso al grupo de seguridad %s"
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4358,12 +4505,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4384,20 +4531,20 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, fuzzy, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
@@ -4406,651 +4553,675 @@ msgstr ""
"Incapaz de emigrar la instancia %(instance_id)s al actual anfitrion "
"(%(host)s)"
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Fallo a reinicia la instancia"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
#, fuzzy
msgid "Failed to resume instance"
msgstr "Fallo al suspender la instancia"
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "Sucedió un error inexperado: %s"
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
#, fuzzy
msgid "Failed to dealloc network for deleted instance"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, fuzzy, python-format
msgid "Error: %s"
msgstr "Capturado error: %s"
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
#, fuzzy
msgid "Allocating IP information in the background."
msgstr "configurando la red del host"
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
#, fuzzy
msgid "Rebuilding instance"
msgstr "Reiniciando instancia %s"
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Desasociar volumen %s"
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
#, fuzzy
msgid "Rebooting instance"
msgstr "Reiniciando instancia %s"
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
#, fuzzy
msgid "Instance disappeared during reboot"
msgstr "instancia %s: reiniciada"
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
#, fuzzy
msgid "instance snapshotting"
msgstr "instancia %s: creando snapshot"
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Fallo al suspender la instancia"
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "Capturado error: %s"
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, fuzzy, python-format
msgid "Updating instance to original state: '%s'"
msgstr "Tipo de instancia inválido %(instance_type)s."
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
#, fuzzy
msgid "Instance has no source host"
msgstr "instancia %s: creando snapshot"
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "instancia %s: obteniendo los diagnosticos"
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
#, fuzzy
msgid "Reset network"
msgstr "configurando la red del host"
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
#, fuzzy
msgid "Inject network info"
msgstr "configurando la red del host"
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
#, fuzzy
msgid "Get console output"
msgstr "Obtener salida de la consola para la instancia %s"
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, fuzzy, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr "Volume_separado: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "Desvinculando volumen de instancia desconocida %s"
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "Volume_separado: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Fallo al generar metadatos para la ip %s"
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Borrando usuario %s"
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "instancia %s: arrancada"
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Borrando usuario %s"
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, fuzzy, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr "Tipo de instancia inválido %(instance_type)s."
@@ -5150,11 +5321,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5170,15 +5341,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5260,7 +5450,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "Fallo a reinicia la instancia"
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5283,44 +5473,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, fuzzy, python-format
msgid "Invalid floating ip id %s in request"
msgstr "instancia %s: rescatada"
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, fuzzy, python-format
msgid "Invalid floating IP %s in request"
msgstr "instancia %s: rescatada"
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, fuzzy, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr "instancia %s: rescatada"
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, fuzzy, python-format
msgid "Invalid virtual interface address %s in request"
msgstr "instancia %s: rescatada"
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "instancia %s: rescatada"
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5351,43 +5541,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5416,47 +5606,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5663,42 +5853,42 @@ msgstr "Matando radvd lanzado %s"
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d corrupto, relanzando radvd"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "backend inválido: %s"
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr "Iniciando interfaz VLAN %s"
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "Iniciando interfaz puente para %s"
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "Fallo al suspender la instancia"
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "Iniciando interfaz puente para %s"
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, fuzzy, python-format
msgid "Done starting bridge %s"
msgstr "Des-registrando la imagen %s"
@@ -5818,13 +6008,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5860,155 +6050,156 @@ msgstr "recibido %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, fuzzy, python-format
msgid "empty project id for instance %s"
msgstr "Tipo de instancia inválido %(instance_type)s."
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
#, fuzzy
msgid "Port not found"
msgstr "instancia %s: arrancada"
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, fuzzy, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr "configurando la red del host"
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, fuzzy, python-format
msgid "Quantum Error creating security group %s"
msgstr "Borrar grupo de seguridad %s"
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, fuzzy, python-format
msgid "Quantum Error updating security group %s"
msgstr "Borrar grupo de seguridad %s"
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, fuzzy, python-format
msgid "Quantum security group %s not found"
msgstr "Borrar grupo de seguridad %s"
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "Capturado error: %s"
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
#, fuzzy
msgid "Quantum Error getting security groups"
msgstr "Borrar grupo de seguridad %s"
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
#, fuzzy
msgid "Security group id should be uuid"
msgstr "Revocar ingreso al grupo de seguridad %s"
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "Borrar grupo de seguridad %s"
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
#, fuzzy
msgid "Quantum Error:"
msgstr "Capturado error: %s"
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, fuzzy, python-format
msgid "Quantum security group rule %s not found"
msgstr "Autorizar ingreso al grupo de seguridad %s"
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -6029,12 +6220,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6238,11 +6429,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr "excepción DB empaquetada."
@@ -6292,11 +6493,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6728,86 +6924,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
-#, fuzzy, python-format
-msgid "Setting instance to %(state)s state."
-msgstr "Tipo de instancia inválido %(instance_type)s."
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
+#, python-format
+msgid "Setting instance to %s state."
+msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, fuzzy, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, fuzzy, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6844,35 +7037,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6896,7 +7089,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6914,10 +7107,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6965,13 +7171,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7156,59 +7367,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr "Ejecutando instancias: %s"
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr "Después de terminar las instancias: %s"
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7329,19 +7542,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7351,25 +7564,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7378,7 +7591,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7401,20 +7614,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7433,37 +7646,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, fuzzy, python-format
msgid "Destroy called on non-existing instance %s"
msgstr "Obtener salida de la consola para la instancia %s"
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7516,85 +7729,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "Se va a iniciar la finalización de las instancias"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, fuzzy, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr "Se va a iniciar la finalización de las instancias"
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, fuzzy, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr "Creando una instancia raw"
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, fuzzy, python-format
msgid "PXE deploy started for instance %s"
msgstr "Tipo de instancia inválido %(instance_type)s."
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, fuzzy, python-format
msgid "PXE deploy completed for instance %s"
msgstr "Obtener salida de la consola para la instancia %s"
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, fuzzy, python-format
msgid "PXE deploy failed for instance %s"
msgstr "Tipo de instancia inválido %(instance_type)s."
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "Tipo de instancia inválido %(instance_type)s."
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Obtener salida de la consola para la instancia %s"
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "Tipo de instancia inválido %(instance_type)s."
@@ -7679,24 +7892,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7706,7 +7919,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7720,22 +7933,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, fuzzy, python-format
msgid "Baremetal interface %s not found"
msgstr "instancia %s: arrancada"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, fuzzy, python-format
msgid "Baremetal interface %s already in use"
msgstr "Creacion de interfaz virtual fallida"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7848,12 +8057,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -8108,12 +8317,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, fuzzy, python-format
msgid "Failed to mount image %(ex)s)"
msgstr "Fallo al montar el sistema de ficheros: %s"
@@ -8142,23 +8351,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
#, fuzzy
msgid "get_console_output called"
msgstr "Obtener salida de la consola para la instancia %s"
@@ -8172,7 +8381,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8192,19 +8401,19 @@ msgstr "Liberar dirección %s"
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8293,17 +8502,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, fuzzy, python-format
msgid "Starting live migration for VM: %s"
msgstr "Se va a iniciar la finalización de las instancias"
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8322,11 +8531,11 @@ msgstr "Llanado al adquiridor %s"
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8350,45 +8559,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, fuzzy, python-format
msgid "Getting info for disk: %s"
msgstr "configurando la red del host"
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8407,12 +8616,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, fuzzy, python-format
msgid "Creating directory: %s"
msgstr "Lanzando VPN para %s"
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, fuzzy, python-format
msgid "Removing directory: %s"
msgstr "Borrando usuario %s"
@@ -8432,41 +8641,41 @@ msgstr "configurando la red del host"
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, fuzzy, python-format
msgid "Removing snapshot %s"
msgstr "Comenzando snapshot para la VM %s"
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8493,107 +8702,107 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
#, fuzzy
msgid "Spawning new instance"
msgstr "Creando una instancia raw"
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
#, fuzzy
msgid "Spawn instance failed"
msgstr "No encontrado: %s"
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, fuzzy, python-format
msgid "Creating nic for instance: %s"
msgstr "Creando una instancia raw"
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, fuzzy, python-format
msgid "Using config drive for instance: %s"
msgstr "Se va a iniciar la finalización de las instancias"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, fuzzy, python-format
msgid "Got request to destroy instance: %s"
msgstr "Imposible destruir VBD %s"
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, fuzzy, python-format
msgid "Instance not found: %s"
msgstr "instancia %s: arrancada"
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, fuzzy, python-format
msgid "Failed to destroy instance: %s"
msgstr "Imposible destruir VBD %s"
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
#, fuzzy
msgid "reboot instance"
msgstr "Reiniciando instancia %s"
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
#, fuzzy
msgid "Pause instance"
msgstr "Reiniciar instancia %r"
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
#, fuzzy
msgid "Unpause instance"
msgstr "Reiniciar instancia %r"
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
#, fuzzy
msgid "Suspend instance"
msgstr "Fallo al suspender la instancia"
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
#, fuzzy
msgid "Resume instance"
msgstr "Reiniciar instancia %r"
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
#, fuzzy
msgid "Power off instance"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
#, fuzzy
msgid "Power on instance"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8628,29 +8837,29 @@ msgstr "instancia %s: arrancada"
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8662,53 +8871,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, fuzzy, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr "Volume_separado: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, fuzzy, python-format
msgid "Attach volume failed: %s"
msgstr "Desasociar volumen %s"
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr "Imposible adjuntar volumen a la instancia %s"
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, fuzzy, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr "Volume_separado: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, fuzzy, python-format
msgid "Detaching physical disk from instance: %s"
msgstr "Creando una instancia raw"
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8738,244 +8947,240 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Conectando a libvirt: %s"
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "el grupo de volumenes %s no existe"
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr "Conexión a libvirt rota"
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Conectando a libvirt: %s"
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "instancia %s: reiniciada"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Fallo a reinicia la instancia"
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
#, fuzzy
msgid "Guest does not have a console available"
msgstr "El usuario no tiene privilegios de administrador"
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, fuzzy, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr "Pidiendo xapi a subir %(vdi_uuids)s como ID %(image_id)s"
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8983,75 +9188,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "Fallo al generar metadatos para la ip %s"
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -9059,50 +9280,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9112,69 +9333,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
-#, fuzzy, python-format
-msgid "Live Migration failure: %(e)s"
-msgstr "Fallo de autenticación: %s"
+#: nova/virt/libvirt/driver.py:3353
+#, python-format
+msgid "Live Migration failure: %s"
+msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping %s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3609
+#, python-format
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9193,15 +9419,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9355,22 +9581,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9378,61 +9604,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9440,7 +9667,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9448,7 +9675,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9456,7 +9683,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9618,12 +9845,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9651,16 +9878,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr "Falló la conexión a melange"
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9670,7 +9897,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9744,105 +9971,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr "instancia %s: arrancada"
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, fuzzy, python-format
msgid "PowerVM image creation failed: %s"
msgstr "Iniciando interfaz puente para %s"
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, fuzzy, python-format
msgid "Creating LPAR instance '%s'"
msgstr "Creando una instancia raw"
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, fuzzy, python-format
msgid "LPAR instance '%s' creation failed"
msgstr "instancia %s: Creando imagen"
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, fuzzy, python-format
msgid "Activating the LPAR instance '%s'"
msgstr "Creando una instancia raw"
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, fuzzy, python-format
msgid "Instance '%s' failed to boot"
msgstr "instancia %s: reiniciada"
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, fuzzy, python-format
msgid "Stopping instance %s for snapshot."
msgstr "instancia %s: creando snapshot"
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, fuzzy, python-format
msgid "Shutting down the instance '%s'"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, fuzzy, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9852,39 +10083,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr "%(text)s: _db_content => %(content)s"
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -10098,12 +10329,12 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
#, fuzzy
msgid "Destroying the VM"
msgstr "Des-registrando la imagen %s"
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10210,101 +10441,106 @@ msgstr "Vamos a ejecutar %s insntacias..."
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "La instacia %(instance_id)s no esta suspendida"
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Borrando usuario %s"
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
#, fuzzy
msgid "instance not present"
msgstr "instancia %s: rescatada"
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Borrando usuario %s"
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Imposible encontrar volumen %s"
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10349,7 +10585,7 @@ msgstr "Re-escaneando SR %s"
msgid "Rescanned HBA %s "
msgstr "Re-escaneando SR %s"
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr "Punto de montaje no puede ser traducido: %s"
@@ -10431,106 +10667,87 @@ msgstr ""
"El punto de montaje %(mountpoint)s se desligó de la instancia "
"%(instance_name)s"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "Llanado al adquiridor %s"
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10549,54 +10766,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr "Obtenida excepción %s"
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr "Lanzando NotImplemented"
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr "xenapi.fake no tiene una implementación para %s"
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr "Llanado al adquiridor %s"
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "Llanado al adquiridor %s"
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10861,229 +11078,229 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, fuzzy, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr "Tamaño para imagen %(image)s:%(virtual_size)d"
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr "Copiando VDI %s a /boot/guest on dom0"
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Kernel/Ramdisk VDI %s destruído"
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
#, fuzzy
msgid "Failed to fetch glance image"
msgstr "Fallo a reinicia la instancia"
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "Buscando vid %s para el kernel PV"
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr "VDI %s está todavía disponible"
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr "Re-escaneando SR %s"
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, fuzzy, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr "VHD %(vdi_uuid)s tiene origen en %(parent_ref)s"
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr "Ejecutando pygrub contra %s"
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr "Kernel Xen Encontrado %s"
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr "Kernel Xen no encontrado. Reiniciando HVM"
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -11091,58 +11308,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11414,11 +11631,16 @@ msgstr "Inposible insertar VDI para SR %s"
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11452,32 +11674,32 @@ msgstr "No encontrado: %s"
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11495,212 +11717,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr "acción: %s"
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr "Tipo de instancia inválido %(instance_type)s."
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "No node specified, defaulting to %(node)s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr "Ejecutando instancias: %s"
-
#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Changing instance metadata according to %(diff)r"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr "instancia %s: arrancada"
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr "La instacia %(instance_id)s no esta suspendida"
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr "La instacia %(instance_id)s no esta suspendida"
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
-#~ msgstr ""
-
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr "Fallo al generar metadatos para la ip %s"
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr "Llamando %(localname)s %(impl)s"
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr "Imposible desasociar volumen %s"
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr "Pidiendo xapi a subir %(vdi_uuids)s como ID %(image_id)s"
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr "Creando VIF para VM %(vm_ref)s, red %(network_ref)s."
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr "configurando la red del host"
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr "Introduciendo %s..."
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
-#~ msgstr "Volume_separado: %(instance_name)s, %(mountpoint)s"
-
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
-#~ msgstr "La instacia %(instance_id)s no esta suspendida"
-
diff --git a/nova/locale/fi_FI/LC_MESSAGES/nova.po b/nova/locale/fi_FI/LC_MESSAGES/nova.po
index 3be94d7e7..b1a326069 100644
--- a/nova/locale/fi_FI/LC_MESSAGES/nova.po
+++ b/nova/locale/fi_FI/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-05-18 19:07+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Finnish (Finland) "
@@ -80,298 +80,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1715,261 +1746,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2139,89 +2165,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2269,6 +2313,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2315,21 +2360,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2337,6 +2385,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2361,6 +2411,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2374,14 +2425,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2398,6 +2449,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2414,273 +2466,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2721,6 +2777,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2760,6 +2817,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2852,36 +2910,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2921,32 +2988,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2957,40 +3024,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3024,7 +3098,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3072,7 +3146,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3263,30 +3337,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3298,7 +3378,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3315,16 +3395,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3348,7 +3428,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3407,12 +3487,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3431,152 +3516,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3588,7 +3686,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3621,35 +3719,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3670,312 +3817,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3989,244 +4136,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4290,12 +4437,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4316,653 +4463,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5062,11 +5233,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5082,15 +5253,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5169,7 +5359,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5191,44 +5381,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5259,43 +5449,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5324,47 +5514,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5570,42 +5760,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5725,13 +5915,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5766,151 +5956,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5931,12 +6122,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6139,11 +6330,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6193,11 +6394,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6622,86 +6818,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6736,35 +6929,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6788,7 +6981,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6806,10 +6999,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6857,13 +7063,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7048,59 +7259,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7220,19 +7433,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7242,25 +7455,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7269,7 +7482,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7291,20 +7504,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7323,37 +7536,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7401,85 +7614,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7564,24 +7777,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7591,7 +7804,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7605,22 +7818,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7733,12 +7942,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7991,12 +8200,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8025,23 +8234,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8054,7 +8263,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8073,19 +8282,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8174,17 +8383,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8203,11 +8412,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8231,45 +8440,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8288,12 +8497,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8313,41 +8522,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8373,98 +8582,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8498,29 +8707,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8532,53 +8741,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8608,240 +8817,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8849,75 +9054,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8925,50 +9146,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8978,69 +9199,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9059,15 +9285,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9221,22 +9447,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9244,61 +9470,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9306,7 +9533,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9314,7 +9541,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9322,7 +9549,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9482,12 +9709,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9514,16 +9741,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9533,7 +9760,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9606,105 +9833,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9714,39 +9945,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9958,11 +10189,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10067,100 +10298,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10205,7 +10441,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10281,106 +10517,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10396,54 +10613,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10703,228 +10920,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10932,58 +11149,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11249,11 +11466,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11287,32 +11509,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11330,212 +11552,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/fr/LC_MESSAGES/nova.po b/nova/locale/fr/LC_MESSAGES/nova.po
index fcb282e5e..58247d0f4 100644
--- a/nova/locale/fr/LC_MESSAGES/nova.po
+++ b/nova/locale/fr/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2012-05-14 08:35+0000\n"
"Last-Translator: Erwan Gallen <Unknown>\n"
"Language-Team: French <fr@li.org>\n"
@@ -82,163 +82,163 @@ msgstr "Échec du redémarrage de l'instance"
msgid "Flags path: %s"
msgstr "Chemin des propriétés: %s"
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr "Une exception inconnue s'est produite."
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, fuzzy, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr "Échec du décryptage du text"
-#: nova/exception.py:167
+#: nova/exception.py:169
#, fuzzy, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr "Échec du décryptage du text"
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr "La création de l'Interface Virtuelle a échoué"
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
"Les 5 tentatives de création de l'interface virtuelle avec une adresse "
"MAC unique ont échoué"
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr "Non autorisé."
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr "L’utilisateur n'a pas les privilèges administrateur"
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr "Le réglage des droits n'autorise pas %(action)s à être effectué(e)(s)"
-#: nova/exception.py:198
+#: nova/exception.py:200
#, fuzzy, python-format
msgid "Image %(image_id)s is not active."
msgstr "L'image %(image_id)s n'a pas été trouvée."
-#: nova/exception.py:202
+#: nova/exception.py:204
#, fuzzy, python-format
msgid "Not authorized for image %(image_id)s."
msgstr "Aucun noyau trouvé pour l'image %(image_id)s."
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr "Paramètres inacceptables."
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr "Le volume %(volume_id)s n'est lié à rien"
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr "La paire de clés de donnée n'est pas valide"
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr "La requête est invalide."
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr "Entrée invalide reçue"
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr "Volume invalide"
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
#, fuzzy
msgid "Invalid metadata size"
msgstr "Signature non valide pour l'utilisateur %s"
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr "La plage de port %(from_port)s:%(to_port)s. %(msg)s est invalide"
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "Le protocole IP %(protocol)s est invalide"
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "Le type de contenu %(content_type)s est invalide"
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr "Le cidr %(cidr)s est invalide"
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr "%(err)s"
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
@@ -247,16 +247,16 @@ msgstr ""
"Impossible d'effectuer l'action '%(action)s' sur l'ensemble "
"%(aggregate_id)s. Raison: %(reason)s."
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
@@ -265,90 +265,90 @@ msgstr ""
"L'instance %(instance_uuid)s dans %(attr)s %(state)s. Impossible de "
"%(method)s pendant que l'instance est dans cet état."
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "L'instance %(instance_id)s ne fonctionne pas."
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr "L'instance %(instance_id)s n'est pas en mode secours"
-#: nova/exception.py:323
+#: nova/exception.py:325
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "L'instance %(instance_id)s n'est pas en mode secours"
-#: nova/exception.py:327
+#: nova/exception.py:329
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "L'instance %(instance_id)s n'est pas suspendue"
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr "Échec de la suspension de l'instance"
-#: nova/exception.py:335
+#: nova/exception.py:337
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Impossible de récupérer les méta-donnérs pour l'IP : %s"
-#: nova/exception.py:339
+#: nova/exception.py:341
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "Échec de la suspension de l'instance"
-#: nova/exception.py:343
+#: nova/exception.py:345
#, fuzzy, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr "Échec du redémarrage de l'instance"
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr "Échec du redémarrage de l'instance"
-#: nova/exception.py:351
+#: nova/exception.py:353
#, fuzzy
msgid "Failed to terminate instance"
msgstr "Échec du redémarrage de l'instance"
-#: nova/exception.py:355
+#: nova/exception.py:357
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Échec du redémarrage de l'instance"
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr "Le service est indisponible actuellement."
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, fuzzy, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr "Le service de calcul est indisponible actuellement."
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
"Impossible de migrer l'instance (%(instance_id)s) vers l'hôte actuel "
"(%(host)s)."
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr "Le type de l'hyperviseur fourni n'est pas valide."
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
"L'instance nécessite une version plus récente de l'hyperviseur que celle "
"fournie."
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
@@ -357,31 +357,31 @@ msgstr ""
"Le chemin d'accès du disque (%(path)s) existe déjà, il n'était pas prévu"
" d'exister."
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr "Le chemin de périphérique (%(path)s) est invalide."
-#: nova/exception.py:394
+#: nova/exception.py:396
#, fuzzy, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr "Le chemin de périphérique (%(path)s) est invalide."
-#: nova/exception.py:399
+#: nova/exception.py:401
#, fuzzy, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr "Le chemin de périphérique (%(path)s) est invalide."
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr "Info CPU inacceptable"
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr "%(address)s n'est pas une adresse IP v4/6 valide"
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
@@ -391,7 +391,7 @@ msgstr ""
" VLAN prévu est %(tag)s, mais celui qui est associé avec le groupe de "
"port est %(pgroup)s."
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -402,86 +402,86 @@ msgstr ""
"l'adaptateur physique souhaité. VSwitch est %(expected)s, mais la "
"principale association est %(actual)s."
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr "Le format de disque %(disk_format)s n'est pas acceptable"
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr "L'image %(image_id)s est inacceptable: %(reason)s"
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr "L'instance %(instance_id)s est inacceptable: %(reason)s"
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr "Ec2 id %(ec2_id)s est inaccepatble."
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "Le cidr %(cidr)s est invalide"
-#: nova/exception.py:448
+#: nova/exception.py:450
#, fuzzy
msgid "Constraint not met."
msgstr "instance %s: récupérée"
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr "La ressource n'a pas pu être trouvée."
-#: nova/exception.py:458
+#: nova/exception.py:460
#, fuzzy, python-format
msgid "No agent-build associated with id %(id)s."
msgstr "Pas d'adresse IP fixe associée avec l'id %(id)s."
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr "Le volume %(volume_id)s n'a pas pu être trouvé."
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr "Le snapshot %(snapshot_id)s n'a pas été trouvé."
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr "Aucun id destination trouvé pour le volume %(volume_id)s."
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr "Aucun disque sur %(location)s"
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr "Impossible de trouver un gestionnaire pour le %(driver_type)s de volume."
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr "L'image href %(image_href)s est invalide."
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr "L'image %(image_id)s n'a pas été trouvée."
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -489,65 +489,65 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr "Le projet %(project_id)s n'a pas été trouvé."
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr "Impossible de trouver le SR pour lire/écrire le VDI."
-#: nova/exception.py:505
+#: nova/exception.py:507
#, fuzzy, python-format
msgid "Network %(network_id)s is duplicated."
msgstr "Le réseau %(network_id)s n'a pas été trouvé."
-#: nova/exception.py:509
+#: nova/exception.py:511
#, fuzzy, python-format
msgid "Network %(network_id)s is still in use."
msgstr "Le réseau %(network_id)s n'a pas été trouvé."
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr "%(req)s est requis pour créer un réseau."
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr "Le réseau %(network_id)s n'a pas été trouvé."
-#: nova/exception.py:521
+#: nova/exception.py:523
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "Le snapshot %(snapshot_id)s n'a pas été trouvé."
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr "Aucun réseau trouvé pour le pont %(bridge)s"
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr "Aucun réseau trouvé pour l'uuid %(uuid)s"
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr "Aucun réseau trouvé avec le cidr %(cidr)s."
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr "Aucun réseau trouvé pour l'instance %(instance_id)s."
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr "Aucun réseau défini."
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
@@ -556,53 +556,53 @@ msgstr ""
"L'uuid réseau %(network_uuid)s n'est pas présent ou n'a pas été affecté "
"au projet %(project_id)s."
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, fuzzy, python-format
msgid "Port %(port_id)s is still in use."
msgstr "Le réseau %(network_id)s n'a pas été trouvé."
-#: nova/exception.py:558
+#: nova/exception.py:560
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "Aucun réseau trouvé pour l'instance %(instance_id)s."
-#: nova/exception.py:562
+#: nova/exception.py:564
#, fuzzy, python-format
msgid "No free port available for instance %(instance)s."
msgstr "Aucun réseau trouvé pour l'instance %(instance_id)s."
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr "Pas d'adresse IP fixe associée avec l'id %(id)s."
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr "Pas d'IP fixe trouvée pour l'adresse %(address)s."
-#: nova/exception.py:574
+#: nova/exception.py:576
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr "L'instance %(instance_id)s n'a aucunes IPs fixes"
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
"Le réseau hôte %(host)s n'a aucunes IPs fixes dans le réseau "
"%(network_id)s."
-#: nova/exception.py:583
+#: nova/exception.py:585
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr "L'instance %(instance_id)s ne peut avoir l'IP fixe '%(ip)s'."
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
@@ -611,187 +611,183 @@ msgstr ""
"L'adresse IP fixe (%(address)s) n'existe pas dans le réseau "
"(%(network_uuid)s)."
-#: nova/exception.py:592
+#: nova/exception.py:594
#, fuzzy, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr "L'adresse IP fixe %(address)s est déjà utilisée."
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr "L'adresse IP fixe %(address)s est invalide."
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr "Aucunes IPs fixes disponibles."
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr "Aucunes IPs fixes trouvées."
-#: nova/exception.py:619
+#: nova/exception.py:621
#, fuzzy, python-format
msgid "Floating ip %(address)s already exists."
msgstr "L'IP dynamique %(address)s est associée."
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr "Aucune IP dynamique trouvée pour l'id %(id)s."
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr "L'entrée DNS %(name)s existe déjà dans le domaine %(domain)s."
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr "Aucune IP dynamique trouvée pour l'adresse %(address)s."
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr "Aucune IP dynamique trouvée pour l'hôte %(host)s."
-#: nova/exception.py:639
+#: nova/exception.py:641
#, fuzzy, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr "Aucune IP dynamique trouvée pour l'adresse %(address)s."
-#: nova/exception.py:643
+#: nova/exception.py:645
#, fuzzy
msgid "Floating ip pool not found."
msgstr "Aucune IP dynamique trouvée pour l'id %(id)s."
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr "Aucune IPs dynamiques disponibles."
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr "L'IP dynamique %(address)s est associée."
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr "L'IP dynamique %(address)s n'est pas associée."
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr "Aucunes IPs dynamiques existes."
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr "L'interface %(interface)s non trouvée."
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr "La paire de clés %(name)s est introuvable pour l'utilisateur %(user_id)s"
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr "Le certificat %(certificate_id)s non trouvé."
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr "Le service %(service_id)s ne peut pas être trouvé."
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr "L'hôte %(host)s ne peut pas être trouvé."
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr "L'hôte de calcul %(host)s ne peut pas être trouvé."
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr "Impossible de trouver le binaire %(binary)s sur l'hôte %(host)s."
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr "Le quota ne peut pas être trouvé"
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr "Le quota pour le projet %(project_id)s ne peut pas être trouvé."
-#: nova/exception.py:718
+#: nova/exception.py:716
#, fuzzy, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr "La clé d'accès %(access_key)s ne peut pas être trouvée."
-#: nova/exception.py:722
+#: nova/exception.py:720
#, fuzzy, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr "Le quota pour le projet %(project_id)s ne peut pas être trouvé."
-#: nova/exception.py:726
+#: nova/exception.py:724
#, fuzzy, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr "L'utilisateur %(user_id)s n'a pas été trouvé."
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr "Groupe de sécurité %(security_group_id)s non trouvé."
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
"Groupe de sécurité %(security_group_id)s non trouvé pour le projet "
"%(project_id)s."
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr "Le groupe de sécurité avec la règle %(rule_id)s non trouvé."
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
@@ -800,7 +796,7 @@ msgstr ""
"Le groupe de sécurité %(security_group_id)s est déjà associé avec "
"l'instance %(instance_id)s"
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
@@ -809,138 +805,143 @@ msgstr ""
"Le groupe de sécurité %(security_group_id)s n'est pas associé avec "
"l'instance %(instance_id)s"
-#: nova/exception.py:757
+#: nova/exception.py:755
#, fuzzy, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr "Le groupe de sécurité avec la règle %(rule_id)s non trouvé."
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr "La migration %(migration_id)s ne peut être trouvée."
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
"Migration non trouvée pour l'instance %(instance_id)s avec le statut "
"%(status)s."
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr "La console %(console_id)s ne peut être trouvée."
-#: nova/exception.py:794
+#: nova/exception.py:792
#, fuzzy, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr "La console pour l'instance %(instance_id)s ne peut être trouvée."
-#: nova/exception.py:798
+#: nova/exception.py:796
#, fuzzy, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr "La console pour l'instance %(instance_id)s ne peut être trouvée."
-#: nova/exception.py:803
+#: nova/exception.py:801
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "Le type de console %(console_type)s est invalide "
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr "Le type d'instance %(instance_type_id)s ne peut être trouvé."
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr "Le type d'instance avec le nom %(instance_type_name)s ne peut être trouvé."
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr "Le Flavor %(flavor_id)s ne peut être trouvé."
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "Le groupe de volume %s n'existe pas"
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, fuzzy, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr "Volume non trouvé pour l'instance %(instance_id)s."
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr "La plannification de filtre hôte %(filter_name)s ne peut être trouvée."
-#: nova/exception.py:861
+#: nova/exception.py:863
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
"Le volume %(volume_id)s n'a pas de métadonnée avec la clé "
"%(metadata_key)s."
-#: nova/exception.py:866
+#: nova/exception.py:868
#, fuzzy, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
@@ -949,335 +950,340 @@ msgstr ""
"Le volume %(volume_id)s n'a pas de métadonnée avec la clé "
"%(metadata_key)s."
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, fuzzy, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr "L'IP dynamique %(address)s est associée."
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, fuzzy, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr "Le type d'instance avec le nom %(instance_type_name)s ne peut être trouvé."
-#: nova/exception.py:921
+#: nova/exception.py:923
#, fuzzy, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr "L'IP dynamique %(address)s est associée."
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
#, fuzzy
msgid "Maximum number of floating ips exceeded"
msgstr "Aucunes IPs dynamiques existes."
-#: nova/exception.py:1008
+#: nova/exception.py:1010
#, fuzzy
msgid "Maximum number of fixed ips exceeded"
msgstr "Aucunes IPs dynamiques existes."
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr "L'instance %(instance_id)s n'a pas pu être trouvée."
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "La console pour l'instance %(instance_id)s ne peut être trouvée."
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "Le volume %(volume_id)s n'a pas pu être trouvé."
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, fuzzy, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr "Le snapshot %(snapshot_id)s n'a pas été trouvé."
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, fuzzy, python-format
msgid "Marker %(marker)s could not be found."
msgstr "L'image %(image_id)s n'a pas été trouvée."
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "Aucun noyau trouvé pour l'image %(image_id)s."
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "Aucun noyau trouvé pour l'image %(image_id)s."
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, fuzzy, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr "Aucune IP dynamique trouvée pour l'hôte %(host)s."
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr "L'instance %(instance_id)s n'a pas pu être trouvée."
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Va essayer d'arrêter %s"
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "Va essayer d'arrêter %s"
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, fuzzy, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
@@ -1286,122 +1292,137 @@ msgstr ""
"Montage du volume %(volume_id)s sur l'instance %(instance_id)s en tant "
"que %(device)s"
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, fuzzy, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr "La paire de clés %(name)s est introuvable pour l'utilisateur %(user_id)s"
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, fuzzy, python-format
msgid "The CA file for %(project)s could not be found"
msgstr "Le quota pour le projet %(project_id)s ne peut pas être trouvé."
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, fuzzy, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr "Le projet %(project_id)s n'a pas été trouvé."
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "L'instance %(instance_id)s n'est pas en mode secours"
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "L'instance %(instance_id)s n'est pas en mode secours"
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "Le type d'instance avec le nom %(instance_type_name)s ne peut être trouvé."
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1416,15 +1437,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Impossible de récupérer les méta-donnérs pour l'IP : %s"
@@ -1447,17 +1468,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1490,120 +1511,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr "Debug dans le rappel : %s"
-#: nova/utils.py:334
+#: nova/utils.py:362
+#, python-format
+msgid "Couldn't get IPv4 : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:379
+#, python-format
+msgid "IPv4 address is not found.: %s"
+msgstr ""
+
+#: nova/utils.py:382
+#, python-format
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:397
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "L'adresse du lien local n'a pas été trouvé :%s"
-#: nova/utils.py:337
+#: nova/utils.py:400
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr "Impossible de trouver l'IP du lien local de %(interface)s :%(ex)s"
-#: nova/utils.py:376
+#: nova/utils.py:439
#, python-format
msgid "Invalid backend: %s"
msgstr "Backend invalide : %s"
-#: nova/utils.py:437
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, fuzzy, python-format
msgid "Unable to find cert_file : %s"
msgstr "Impossible de trouver SR du VDB %s"
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, fuzzy, python-format
msgid "Unable to find ca_file : %s"
msgstr "Impossible de trouver SR du VDB %s"
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, fuzzy, python-format
msgid "Unable to find key_file : %s"
msgstr "Impossible de trouver SR du VDB %s"
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr "Vous devez implémenter __call__"
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1617,7 +1648,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1771,273 +1802,268 @@ msgstr ""
"Requête API non supportée : controleur = %(controller)s, action = "
"%(action)s"
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, fuzzy, python-format
msgid "Could not find key pair(s): %s"
msgstr "Impossible de déchiffrer la clef privée : %s"
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr "Création du bi-clef %s"
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr "Suppression du bi-clef %s"
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, fuzzy, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr "Pas assez de parametres pour contruire un règle valide."
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "Le protocole IP %(protocol)s est invalide"
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr "Pas de règle pour les paramètres spécifiés."
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, fuzzy, python-format
msgid "%s - This rule already exists in group"
msgstr "Cette règle existe déjà dans le groupe %s"
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr "Récupération de la sortie de la console de l'instance %s"
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr "Création d'un volume de %s Go"
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
"Montage du volume %(volume_id)s sur l'instance %(instance_id)s en tant "
"que %(device)s"
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "Dé-montage du volume %s"
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
#, fuzzy
msgid "Detach Volume Failed."
msgstr "Dé-montage du volume %s"
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr "attribut non reconnu : %s"
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr "Allocation d'adresse"
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
#, fuzzy
msgid "No more floating IPs available"
msgstr "Aucune IPs dynamiques disponibles."
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr "Désallocation de l'adresse %s"
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr "Association de l'adresse %(public_ip)s avec l'instance %(instance_id)s"
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
#, fuzzy
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Désassociation de l'adresse %s"
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
#, fuzzy
msgid "Floating ip is already associated."
msgstr "L'IP dynamique %(address)s est associée."
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
#, fuzzy
msgid "l3driver call to add floating ip failed."
msgstr "Aucune IPs dynamiques disponibles."
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
#, fuzzy
msgid "Error, unable to associate floating ip."
msgstr "Désassociation de l'adresse %s"
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr "Désassociation de l'adresse %s"
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
#, fuzzy
msgid "Floating ip is not associated."
msgstr "L'IP dynamique %(address)s n'est pas associée."
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr "Début de la destruction d'instance"
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr "Re-démarrage de l'instance %r"
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr "Dé-enregitrement de l'image %s"
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr "Image %(image_location)s enregistré avec l'id %(image_id)s"
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr "Utilisateur ou groupe non spécifié"
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr "Seul le group \"tous\" est supporté"
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
"le type d'opération (operation_type) doit être ajout (add) ou suppression"
" (remove)"
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr "Mis à jour de la publication de l'image %s"
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
#, fuzzy
msgid "Only instances implemented"
msgstr "instance %s: récupérée"
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
#, fuzzy
msgid "Invalid CIDR"
msgstr "Le cidr %(cidr)s est invalide"
@@ -2209,89 +2235,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2339,6 +2383,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2385,21 +2430,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, fuzzy, python-format
msgid "Invalid is_public filter [%s]"
msgstr "Signature non valide pour l'utilisateur %s"
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, fuzzy, python-format
msgid "Invalid minRam filter [%s]"
msgstr "Signature non valide pour l'utilisateur %s"
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2407,6 +2455,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2431,6 +2481,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2444,14 +2495,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2468,6 +2519,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2485,279 +2537,283 @@ msgid "Flavor '%s' could not be found "
msgstr "L'hôte %(host)s ne peut pas être trouvé."
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
#, fuzzy
msgid "HostId cannot be updated."
msgstr "Le point de montage ne peut pas être traduit : %s"
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
#, fuzzy
msgid "Personality cannot be updated."
msgstr "Le point de montage ne peut pas être traduit : %s"
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
#, fuzzy
msgid "Flavor used by the instance could not be found."
msgstr "L'instance %(instance_id)s n'a pas pu être trouvée."
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
#, fuzzy
msgid "Image that the instance was started with could not be found."
msgstr "L'instance %(instance_id)s n'a pas pu être trouvée."
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
#, fuzzy
msgid "Invalid instance image."
msgstr "instance %s: récupérée"
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
#, fuzzy
msgid "Unable to set password on instance"
msgstr "Échec du redémarrage de l'instance"
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2798,6 +2854,7 @@ msgstr "Compute.api::reset_network %s"
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2837,6 +2894,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2932,36 +2990,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, fuzzy, python-format
msgid "Cell %(id)s not found."
msgstr "L'interface %(interface)s non trouvée."
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -3003,34 +3070,34 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
#, fuzzy
msgid "Coverage not running"
msgstr "xvp non actif..."
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
#, fuzzy
msgid "Invalid path"
msgstr "Snapshot invalide"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -3041,40 +3108,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "Le certificat %(certificate_id)s non trouvé."
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3109,7 +3183,7 @@ msgstr "L'IP dynamique %(address)s n'est pas associée."
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3160,7 +3234,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr "L'IP dynamique %(address)s n'est pas associée."
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3355,30 +3429,36 @@ msgid "Create networks failed"
msgstr "Aucun réseau défini."
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3390,7 +3470,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr "Pas assez de parametres pour contruire un règle valide."
@@ -3409,16 +3489,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr "Le groupe de sécurité avec la règle %(rule_id)s non trouvé."
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3444,7 +3524,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3503,12 +3583,17 @@ msgstr "Reçu exception : %s"
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, fuzzy, python-format
msgid "Reserving IP address %s"
msgstr "Désallocation de l'adresse %s"
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, fuzzy, python-format
msgid "Unreserving IP address %s"
msgstr "Désallocation de l'adresse %s"
@@ -3527,153 +3612,166 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, fuzzy, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr "Pas de méthode pour le message : %s"
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, fuzzy, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr "Pas de méthode pour le message : %s"
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Volume non trouvé pour l'instance %(instance_id)s."
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
#, fuzzy
msgid "Got update to delete instance"
msgstr "Volume non trouvé pour l'instance %(instance_id)s."
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "Volume non trouvé pour l'instance %(instance_id)s."
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3685,7 +3783,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3718,35 +3816,84 @@ msgstr "Démarrage du VPN pour %s"
msgid "Failed to load %s"
msgstr "Impossible de trouver le volume %s"
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3767,322 +3914,322 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "%s reçu"
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, fuzzy, python-format
msgid "error: %s"
msgstr "Erreur interceptée : %s"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "réglage de l'hôte réseau"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "adresse de départ"
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
#, fuzzy
msgid "No fixed IP found."
msgstr "Aucunes IPs fixes trouvées."
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "L'IP dynamique %(address)s est associée."
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr "adresse de départ"
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "réglage de l'hôte réseau"
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
#, fuzzy
msgid "UUID is required to delete Quantum Networks"
msgstr "%(req)s est requis pour créer un réseau."
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "Re-démarrage de l'instance %r"
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr "Le service %(service_id)s ne peut pas être trouvé."
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr "Le service %(service_id)s ne peut pas être trouvé."
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "\"Erreur inopinée\" remontée : %s"
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "instance %s: récupérée"
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Erreur interceptée : %s"
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "Erreur interceptée : %s"
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -4096,257 +4243,257 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
#, fuzzy
msgid "Cannot run any more instances of this type."
msgstr ""
"Quota d'instances dépassé. Vous ne pouvez éxécuter que %s instances de ce"
" type de plus."
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, fuzzy, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
"Quota d'instances dépassé. Vous ne pouvez éxécuter que %s instances de ce"
" type de plus."
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Impossible d'attacher le volume à l'instance %s"
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr "Démarrage de %s instances..."
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
#, fuzzy
msgid "instance termination disabled"
msgstr "Début de la destruction d'instance"
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "Le type d'instance %(instance_type_id)s ne peut être trouvé."
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "Début de la destruction d'instance"
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
#, fuzzy
msgid "Going to try to soft delete instance"
msgstr "Va essayer d'arrêter %s"
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
#, fuzzy
msgid "Going to try to terminate instance"
msgstr "Va essayer d'arrêter %s"
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
#, fuzzy
msgid "Going to try to stop instance"
msgstr "Va essayer d'arrêter %s"
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
#, fuzzy
msgid "Going to try to start instance"
msgstr "Va essayer d'arrêter %s"
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, fuzzy, python-format
msgid "snapshot for %s"
msgstr "Début de création d'instantané (snapshot) pour la VM %s"
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, fuzzy, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "Va essayer d'arrêter %s"
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr "Création du groupe de sécurité %s"
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Impossible de supprimer le VBD %s"
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Impossible de supprimer le VBD %s"
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
#, fuzzy
msgid "Security group is still in use"
msgstr "Révocation de groupe de sécurité %s"
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr "Suppression du groupe de sécurité %s"
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr "Authorisation du groupe de sécurité %s"
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr "Révocation de groupe de sécurité %s"
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4411,12 +4558,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4437,20 +4584,20 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, fuzzy, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
@@ -4459,654 +4606,678 @@ msgstr ""
"Impossible de migrer l'instance (%(instance_id)s) vers l'hôte actuel "
"(%(host)s)."
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Échec du redémarrage de l'instance"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
#, fuzzy
msgid "Failed to resume instance"
msgstr "Échec de la suspension de l'instance"
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "\"Erreur inopinée\" remontée : %s"
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
#, fuzzy
msgid "Failed to dealloc network for deleted instance"
msgstr "Va essayer d'arrêter %s"
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, fuzzy, python-format
msgid "Error: %s"
msgstr "Erreur interceptée : %s"
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
#, fuzzy
msgid "Allocating IP information in the background."
msgstr "Aucune IP dynamique trouvée pour l'id %(id)s."
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Va essayer d'arrêter %s"
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
#, fuzzy
msgid "Rebuilding instance"
msgstr "Redémarrage de l'instance %s"
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Dé-montage du volume %s"
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
#, fuzzy
msgid "Rebooting instance"
msgstr "Redémarrage de l'instance %s"
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
#, fuzzy
msgid "Instance disappeared during reboot"
msgstr "instance %s: re-démarrée"
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
#, fuzzy
msgid "instance snapshotting"
msgstr "instance %s: création d'un instantané (snapshot)"
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Échec de la suspension de l'instance"
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "Erreur interceptée : %s"
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
#, fuzzy
msgid "Unrescuing"
msgstr "instance %s: dé-récupération"
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, fuzzy, python-format
msgid "Updating instance to original state: '%s'"
msgstr "L'instance de type %(instance_type)s est invalide."
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
#, fuzzy
msgid "Instance has no source host"
msgstr "instance %s: création d'un instantané (snapshot)"
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "instance %s: récupération des diagnostiques"
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
#, fuzzy
msgid "Reset network"
msgstr "réglage de l'hôte réseau"
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
#, fuzzy
msgid "Inject network info"
msgstr "réglage de l'hôte réseau"
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
#, fuzzy
msgid "Get console output"
msgstr "Récupération de la sortie de la console de l'instance %s"
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
#, fuzzy
msgid "Getting vnc console"
msgstr "Ajout de console"
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
#, fuzzy
msgid "Getting spice console"
msgstr "Ajout de console"
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, fuzzy, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "Démontage de volume d'une instance inconnue %s"
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Impossible de récupérer les méta-donnérs pour l'IP : %s"
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Suppression de l'utilisateur %s"
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "instance %s: a démarrée"
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Suppression de l'utilisateur %s"
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, fuzzy, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr "L'instance de type %(instance_type)s est invalide."
@@ -5207,11 +5378,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5227,15 +5398,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr "Ajout de console"
@@ -5317,7 +5507,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "Échec du redémarrage de l'instance"
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5340,44 +5530,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, fuzzy, python-format
msgid "Invalid floating ip id %s in request"
msgstr "instance %s: récupérée"
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, fuzzy, python-format
msgid "Invalid floating IP %s in request"
msgstr "instance %s: récupérée"
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, fuzzy, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr "instance %s: récupérée"
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, fuzzy, python-format
msgid "Invalid virtual interface address %s in request"
msgstr "instance %s: récupérée"
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "instance %s: récupérée"
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5408,43 +5598,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5473,47 +5663,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr "Impossible de déchiffrer la clef privée : %s"
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr "Impossible de déchiffrer le vecteur d'initialisation : %s"
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr "Impossible de déchiffrer le fichier image %(image_file)s: %(err)s"
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5721,42 +5911,42 @@ msgstr "La destruction de radvd à renvoyé %s"
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d est dépassé, re-démarrage radvd"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "Backend invalide : %s"
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr "Démarrage de l'interface VLAN %s"
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "Démarrage de l'interface de Bridge %s"
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, fuzzy, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr "L'interface %(interface)s non trouvée."
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "Échec de la suspension de l'instance"
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "Démarrage de l'interface de Bridge %s"
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, fuzzy, python-format
msgid "Done starting bridge %s"
msgstr "Erreur au démarrage xvp : %s"
@@ -5877,13 +6067,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr "La somme du nombre de réseau et le début de vlan ne peut excéder 4094"
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5919,157 +6109,158 @@ msgstr "%s reçu"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, fuzzy, python-format
msgid "empty project id for instance %s"
msgstr "L'instance de type %(instance_type)s est invalide."
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
#, fuzzy
msgid "Port not found"
msgstr "Aucuns types d'instance trouvés."
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, fuzzy, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr "Aucune IP dynamique trouvée pour l'id %(id)s."
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, fuzzy, python-format
msgid "Quantum Error creating security group %s"
msgstr "Suppression du groupe de sécurité %s"
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, fuzzy, python-format
msgid "Quantum Error updating security group %s"
msgstr "Suppression du groupe de sécurité %s"
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, fuzzy, python-format
msgid "Quantum security group %s not found"
msgstr "Suppression du groupe de sécurité %s"
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "Erreur interceptée : %s"
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
#, fuzzy
msgid "Quantum Error getting security groups"
msgstr "Suppression du groupe de sécurité %s"
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
#, fuzzy
msgid "Security group id should be uuid"
msgstr "Révocation de groupe de sécurité %s"
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "Suppression du groupe de sécurité %s"
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
#, fuzzy
msgid "Quantum Error:"
msgstr "Erreur interceptée : %s"
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, fuzzy, python-format
msgid "Quantum security group rule %s not found"
msgstr "Le groupe de sécurité avec la règle %(rule_id)s non trouvé."
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, fuzzy, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
"Groupe de sécurité %(security_group_id)s non trouvé pour le projet "
"%(project_id)s."
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, fuzzy, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -6092,12 +6283,12 @@ msgstr "Erreur au démarrage xvp : %s"
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6301,11 +6492,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6355,11 +6556,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6791,86 +6987,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
-#, fuzzy, python-format
-msgid "Setting instance to %(state)s state."
-msgstr "L'instance de type %(instance_type)s est invalide."
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
+#, python-format
+msgid "Setting instance to %s state."
+msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, fuzzy, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr "Volume non trouvé pour l'instance %(instance_id)s."
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, fuzzy, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6907,35 +7100,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6959,7 +7152,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6977,10 +7170,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -7028,13 +7234,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7219,59 +7430,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr "Instance actives : %s"
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr "Après l'arrêt d'instances : %s"
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7392,19 +7605,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7414,25 +7627,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7441,7 +7654,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7464,20 +7677,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7496,37 +7709,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, fuzzy, python-format
msgid "Destroy called on non-existing instance %s"
msgstr "Récupération de la sortie de la console de l'instance %s"
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7579,85 +7792,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "Début de la destruction d'instance"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, fuzzy, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr "Début de la destruction d'instance"
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, fuzzy, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr "Injection du chemin d'accès : '%s'"
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, fuzzy, python-format
msgid "PXE deploy started for instance %s"
msgstr "L'instance de type %(instance_type)s est invalide."
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, fuzzy, python-format
msgid "PXE deploy completed for instance %s"
msgstr "Récupération de la sortie de la console de l'instance %s"
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, fuzzy, python-format
msgid "PXE deploy failed for instance %s"
msgstr "L'instance de type %(instance_type)s est invalide."
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "L'instance de type %(instance_type)s est invalide."
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Récupération de la sortie de la console de l'instance %s"
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "L'instance de type %(instance_type)s est invalide."
@@ -7742,24 +7955,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7769,7 +7982,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr "Pas d'adresse IP fixe associée avec l'id %(id)s."
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7783,23 +7996,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-#, fuzzy
-msgid "No more PXE IPs available"
-msgstr "Aucunes IPs fixes disponibles."
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, fuzzy, python-format
msgid "Baremetal interface %s not found"
msgstr "Aucuns types d'instance trouvés."
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, fuzzy, python-format
msgid "Baremetal interface %s already in use"
msgstr "La création de l'Interface Virtuelle a échoué"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7916,12 +8124,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -8176,12 +8384,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, fuzzy, python-format
msgid "File path %s not valid"
msgstr "Injection du chemin d'accès : '%s'"
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, fuzzy, python-format
msgid "Failed to mount image %(ex)s)"
msgstr "Impossible de monter le système de fichier : %s"
@@ -8210,23 +8418,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
#, fuzzy
msgid "get_console_output called"
msgstr "Récupération de la sortie de la console de l'instance %s"
@@ -8240,7 +8448,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8260,19 +8468,19 @@ msgstr "Désallocation de l'adresse %s"
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8361,17 +8569,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, fuzzy, python-format
msgid "Starting live migration for VM: %s"
msgstr "Début de la destruction d'instance"
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8390,11 +8598,11 @@ msgstr "Appel du getter %s"
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8418,45 +8626,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, fuzzy, python-format
msgid "Getting info for disk: %s"
msgstr "Aucune IP dynamique trouvée pour l'id %(id)s."
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8475,12 +8683,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, fuzzy, python-format
msgid "Creating directory: %s"
msgstr "Démarrage du VPN pour %s"
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, fuzzy, python-format
msgid "Removing directory: %s"
msgstr "Suppression de l'utilisateur %s"
@@ -8500,41 +8708,41 @@ msgstr "Aucune IP dynamique trouvée pour l'id %(id)s."
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, fuzzy, python-format
msgid "Removing snapshot %s"
msgstr "Début de création d'instantané (snapshot) pour la VM %s"
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8561,107 +8769,107 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
#, fuzzy
msgid "Spawning new instance"
msgstr "Création d'une instance raw"
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
#, fuzzy
msgid "Spawn instance failed"
msgstr "\"Non trouvé\" remonté : %s"
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, fuzzy, python-format
msgid "Creating nic for instance: %s"
msgstr "Création d'une instance raw"
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, fuzzy, python-format
msgid "Using config drive for instance: %s"
msgstr "Début de la destruction d'instance"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, fuzzy, python-format
msgid "Creating config drive at %(path)s"
msgstr "Injection du chemin d'accès : '%s'"
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "Injection du chemin d'accès : '%s'"
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, fuzzy, python-format
msgid "Got request to destroy instance: %s"
msgstr "Impossible de supprimer le VBD %s"
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, fuzzy, python-format
msgid "Instance not found: %s"
msgstr "Aucuns types d'instance trouvés."
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, fuzzy, python-format
msgid "Failed to destroy instance: %s"
msgstr "Impossible de supprimer le VBD %s"
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
#, fuzzy
msgid "reboot instance"
msgstr "Redémarrage de l'instance %s"
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
#, fuzzy
msgid "Pause instance"
msgstr "Re-démarrage de l'instance %r"
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
#, fuzzy
msgid "Unpause instance"
msgstr "Re-démarrage de l'instance %r"
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
#, fuzzy
msgid "Suspend instance"
msgstr "Échec de la suspension de l'instance"
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
#, fuzzy
msgid "Resume instance"
msgstr "Re-démarrage de l'instance %r"
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
#, fuzzy
msgid "Power off instance"
msgstr "Démarrage de %s instances..."
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
#, fuzzy
msgid "Power on instance"
msgstr "Démarrage de %s instances..."
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8696,29 +8904,29 @@ msgstr "Aucuns types d'instance trouvés."
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8730,53 +8938,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, fuzzy, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, fuzzy, python-format
msgid "Attach volume failed: %s"
msgstr "Dé-montage du volume %s"
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr "Impossible d'attacher le volume à l'instance %s"
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, fuzzy, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, fuzzy, python-format
msgid "Detaching physical disk from instance: %s"
msgstr "Création d'une instance raw"
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8806,248 +9014,244 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Connexion à libvirt: %s"
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "Le groupe de volume %s n'existe pas"
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr "Connexion à libvirt interrompue"
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Connexion à libvirt: %s"
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Va essayer d'arrêter %s"
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Aucun réseau défini."
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Aucun réseau défini."
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "instance %s: re-démarrée"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Échec du redémarrage de l'instance"
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "data: %(data)r, fpath: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
#, fuzzy
msgid "Guest does not have a console available"
msgstr "L’utilisateur n'a pas les privilèges administrateur"
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, fuzzy, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr "Demande de chargement à xapi de %(vdi_uuids)s en tant qu'ID %(image_id)s"
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, fuzzy, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
"instance %(inst_name)s : l'erreur d'injection de donné dans l'image "
"%(img_id)s (%(e)s) a été ignorée"
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -9055,75 +9259,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "Impossible de récupérer les méta-donnérs pour l'IP : %s"
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -9131,50 +9351,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9184,69 +9404,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
-#, fuzzy, python-format
-msgid "Live Migration failure: %(e)s"
-msgstr "Echec d'authentification : %s"
+#: nova/virt/libvirt/driver.py:3353
+#, python-format
+msgid "Live Migration failure: %s"
+msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9265,15 +9490,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9427,22 +9652,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9450,61 +9675,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9512,7 +9738,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9520,7 +9746,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9528,7 +9754,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9690,12 +9916,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9723,16 +9949,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr "La connexion à Melange a échoué"
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9742,7 +9968,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9816,105 +10042,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr "Aucuns types d'instance trouvés."
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, fuzzy, python-format
msgid "PowerVM image creation failed: %s"
msgstr "Démarrage de l'interface de Bridge %s"
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, fuzzy, python-format
msgid "Creating LPAR instance '%s'"
msgstr "Création d'une instance raw"
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, fuzzy, python-format
msgid "LPAR instance '%s' creation failed"
msgstr "instance %s : Création de l'image"
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, fuzzy, python-format
msgid "Activating the LPAR instance '%s'"
msgstr "Création d'une instance raw"
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, fuzzy, python-format
msgid "Instance '%s' failed to boot"
msgstr "instance %s: re-démarrée"
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, fuzzy, python-format
msgid "Stopping instance %s for snapshot."
msgstr "instance %s: création d'un instantané (snapshot)"
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, fuzzy, python-format
msgid "Shutting down the instance '%s'"
msgstr "Démarrage de %s instances..."
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, fuzzy, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr "Démarrage de %s instances..."
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9924,39 +10154,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr "%(text)s: _db_content => %(content)s"
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -10170,12 +10400,12 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
#, fuzzy
msgid "Destroying the VM"
msgstr "Re-démarrage xvp"
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
#, fuzzy
msgid "Destroyed the VM"
msgstr "Nested renvoi %s"
@@ -10283,101 +10513,106 @@ msgstr "Démarrage de %s instances..."
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "L'instance %(instance_id)s n'a pas pu être trouvée."
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Suppression de l'utilisateur %s"
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
#, fuzzy
msgid "instance not present"
msgstr "instance %s: récupérée"
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Suppression de l'utilisateur %s"
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Impossible de trouver le volume %s"
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10422,7 +10657,7 @@ msgstr "Re-parcours de SR %s"
msgid "Rescanned HBA %s "
msgstr "Re-parcours de SR %s"
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr "Le point de montage ne peut pas être traduit : %s"
@@ -10504,106 +10739,87 @@ msgstr ""
"Le point de montage %(mountpoint)s à été détaché de l'instance "
"%(instance_name)s"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "Appel du getter %s"
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, fuzzy, python-format
msgid "Injecting file path: %r"
msgstr "Injection du chemin d'accès : '%s'"
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr "Erreur OpenSSL : %s"
@@ -10623,54 +10839,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, fuzzy, python-format
msgid "Could not determine key: %s"
msgstr "Impossible de déchiffrer la clef privée : %s"
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr "Reçu exception : %s"
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr "Fonction non implémentée"
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr "xenapi.fake n'a pas d'implémentation pour %s"
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr "Appel du getter %s"
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "Appel du getter %s"
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10936,163 +11152,163 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, fuzzy, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr "Image %(image_location)s enregistré avec l'id %(image_id)s"
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, fuzzy, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr "Taille de l'image %(image)s:%(virtual_size)d"
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr "Copie de VDI %s vers /boot/guest sur dom0"
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Noyau/Ramdisk VDI %s détruit"
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
#, fuzzy
msgid "Failed to fetch glance image"
msgstr "Échec du redémarrage de l'instance"
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "Recherche du VDI %s pour le PV kernel"
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr "Le VDI %s est toujours disponible"
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr "Re-parcours de SR %s"
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, fuzzy, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr "VHD %(vdi_uuid)s à pour parent %(parent_ref)s"
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
@@ -11101,66 +11317,66 @@ msgstr ""
"L'UUID parent %(parent_uuid)s ne correspond pas au parent originel "
"%(original_parent_uuid)s, attente de coalesence..."
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr "Connexion de VBD %s ... "
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr "Connexion de VBD %s terminée."
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "Destruction de VBD pour la VDI %s ... "
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr "Destruction de VBD pour la VDI %s terminée."
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr "Exécution de pygrub sur %s"
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr "Kernel Xen %s trouvé"
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr "Pas de kernel Xen trouvé. Démarrage en HVM."
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -11168,58 +11384,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr "Ecriture de la table de partitionnement %s terminée."
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11494,11 +11710,16 @@ msgstr "Impossible d'introduire le VDI pour SR %s"
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11532,32 +11753,32 @@ msgstr "\"Non trouvé\" remonté : %s"
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11575,214 +11796,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr "action: %s"
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr "L'instance de type %(instance_type)s est invalide."
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "No node specified, defaulting to %(node)s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr "Instance actives : %s"
-
#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "injecting file to %(path)s"
-#~ msgstr "Injection du chemin d'accès : '%s'"
-
-#~ msgid "Changing instance metadata according to %(diff)r"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr "Le réseau %(network_id)s n'a pas été trouvé."
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr "L'hôte %(host)s ne peut pas être trouvé."
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr "L'instance %(instance_id)s n'a pas pu être trouvée."
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
-#~ msgstr ""
-
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr "Impossible de récupérer les méta-donnérs pour l'IP : %s"
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr "Appel %(localname)s %(impl)s"
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr "Impossible de détacher le volume %s"
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr "Aucun id destination trouvé pour le volume %(volume_id)s."
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-#~ "Demande de chargement à xapi de "
-#~ "%(vdi_uuids)s en tant qu'ID %(image_id)s"
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr "Création du VIF pour la VM %(vm_ref)s, réseau %(network_ref)s."
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr "réglage de l'hôte réseau"
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr "Introduction de %s"
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
-#~ msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
-#~ msgstr "L'instance %(instance_id)s n'a pas pu être trouvée."
-
diff --git a/nova/locale/hr/LC_MESSAGES/nova.po b/nova/locale/hr/LC_MESSAGES/nova.po
index 7f965ae20..8cdbcc73e 100644
--- a/nova/locale/hr/LC_MESSAGES/nova.po
+++ b/nova/locale/hr/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Croatian "
@@ -81,298 +81,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -380,85 +380,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -466,896 +466,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1370,15 +1391,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1400,17 +1421,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1443,120 +1464,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1570,7 +1601,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1716,261 +1747,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2140,89 +2166,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2270,6 +2314,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2316,21 +2361,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2338,6 +2386,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2362,6 +2412,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2375,14 +2426,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2399,6 +2450,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2415,273 +2467,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2722,6 +2778,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2761,6 +2818,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2853,36 +2911,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2922,32 +2989,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2958,40 +3025,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3025,7 +3099,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3073,7 +3147,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3264,30 +3338,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3299,7 +3379,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3316,16 +3396,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3349,7 +3429,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3408,12 +3488,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3432,152 +3517,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3589,7 +3687,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3622,35 +3720,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3671,312 +3818,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3990,244 +4137,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4291,12 +4438,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4317,653 +4464,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5063,11 +5234,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5083,15 +5254,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5170,7 +5360,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5192,44 +5382,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5260,43 +5450,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5325,47 +5515,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5571,42 +5761,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5726,13 +5916,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5767,151 +5957,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5932,12 +6123,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6140,11 +6331,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6194,11 +6395,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6623,86 +6819,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6737,35 +6930,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6789,7 +6982,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6807,10 +7000,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6858,13 +7064,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7049,59 +7260,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7221,19 +7434,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7243,25 +7456,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7270,7 +7483,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7292,20 +7505,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7324,37 +7537,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7402,85 +7615,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7565,24 +7778,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7592,7 +7805,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7606,22 +7819,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7734,12 +7943,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7992,12 +8201,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8026,23 +8235,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8055,7 +8264,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8074,19 +8283,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8175,17 +8384,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8204,11 +8413,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8232,45 +8441,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8289,12 +8498,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8314,41 +8523,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8374,98 +8583,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8499,29 +8708,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8533,53 +8742,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8609,240 +8818,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8850,75 +9055,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8926,50 +9147,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8979,69 +9200,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9060,15 +9286,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9222,22 +9448,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9245,61 +9471,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9307,7 +9534,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9315,7 +9542,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9323,7 +9550,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9483,12 +9710,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9515,16 +9742,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9534,7 +9761,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9607,105 +9834,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9715,39 +9946,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9959,11 +10190,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10068,100 +10299,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10206,7 +10442,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10282,106 +10518,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10397,54 +10614,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10704,228 +10921,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10933,58 +11150,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11250,11 +11467,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11288,32 +11510,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11331,212 +11553,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/hu/LC_MESSAGES/nova.po b/nova/locale/hu/LC_MESSAGES/nova.po
index 2cfce52b4..9c83d0d4a 100644
--- a/nova/locale/hu/LC_MESSAGES/nova.po
+++ b/nova/locale/hu/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Hungarian "
@@ -80,298 +80,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1715,261 +1746,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2139,89 +2165,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2269,6 +2313,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2315,21 +2360,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2337,6 +2385,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2361,6 +2411,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2374,14 +2425,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2398,6 +2449,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2414,273 +2466,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2721,6 +2777,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2760,6 +2817,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2852,36 +2910,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2921,32 +2988,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2957,40 +3024,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3024,7 +3098,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3072,7 +3146,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3263,30 +3337,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3298,7 +3378,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3315,16 +3395,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3348,7 +3428,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3407,12 +3487,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3431,152 +3516,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3588,7 +3686,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3621,35 +3719,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3670,312 +3817,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3989,244 +4136,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4290,12 +4437,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4316,653 +4463,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5062,11 +5233,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5082,15 +5253,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5169,7 +5359,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5191,44 +5381,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5259,43 +5449,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5324,47 +5514,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5570,42 +5760,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5725,13 +5915,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5766,151 +5956,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5931,12 +6122,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6139,11 +6330,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6193,11 +6394,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6622,86 +6818,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6736,35 +6929,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6788,7 +6981,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6806,10 +6999,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6857,13 +7063,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7048,59 +7259,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7220,19 +7433,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7242,25 +7455,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7269,7 +7482,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7291,20 +7504,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7323,37 +7536,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7401,85 +7614,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7564,24 +7777,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7591,7 +7804,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7605,22 +7818,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7733,12 +7942,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7991,12 +8200,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8025,23 +8234,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8054,7 +8263,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8073,19 +8282,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8174,17 +8383,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8203,11 +8412,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8231,45 +8440,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8288,12 +8497,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8313,41 +8522,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8373,98 +8582,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8498,29 +8707,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8532,53 +8741,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8608,240 +8817,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8849,75 +9054,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8925,50 +9146,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8978,69 +9199,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9059,15 +9285,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9221,22 +9447,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9244,61 +9470,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9306,7 +9533,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9314,7 +9541,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9322,7 +9549,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9482,12 +9709,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9514,16 +9741,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9533,7 +9760,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9606,105 +9833,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9714,39 +9945,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9958,11 +10189,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10067,100 +10298,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10205,7 +10441,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10281,106 +10517,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10396,54 +10613,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10703,228 +10920,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10932,58 +11149,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11249,11 +11466,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11287,32 +11509,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11330,212 +11552,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/id/LC_MESSAGES/nova.po b/nova/locale/id/LC_MESSAGES/nova.po
index f0bf4745e..30982412f 100644
--- a/nova/locale/id/LC_MESSAGES/nova.po
+++ b/nova/locale/id/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Indonesian "
@@ -80,298 +80,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1715,261 +1746,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2139,89 +2165,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2269,6 +2313,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2315,21 +2360,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2337,6 +2385,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2361,6 +2411,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2374,14 +2425,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2398,6 +2449,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2414,273 +2466,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2721,6 +2777,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2760,6 +2817,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2852,36 +2910,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2921,32 +2988,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2957,40 +3024,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3024,7 +3098,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3072,7 +3146,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3263,30 +3337,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3298,7 +3378,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3315,16 +3395,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3348,7 +3428,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3407,12 +3487,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3431,152 +3516,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3588,7 +3686,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3621,35 +3719,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3670,312 +3817,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3989,244 +4136,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4290,12 +4437,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4316,653 +4463,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5062,11 +5233,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5082,15 +5253,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5169,7 +5359,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5191,44 +5381,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5259,43 +5449,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5324,47 +5514,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5570,42 +5760,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5725,13 +5915,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5766,151 +5956,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5931,12 +6122,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6139,11 +6330,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6193,11 +6394,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6622,86 +6818,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6736,35 +6929,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6788,7 +6981,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6806,10 +6999,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6857,13 +7063,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7048,59 +7259,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7220,19 +7433,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7242,25 +7455,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7269,7 +7482,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7291,20 +7504,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7323,37 +7536,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7401,85 +7614,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7564,24 +7777,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7591,7 +7804,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7605,22 +7818,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7733,12 +7942,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7991,12 +8200,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8025,23 +8234,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8054,7 +8263,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8073,19 +8282,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8174,17 +8383,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8203,11 +8412,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8231,45 +8440,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8288,12 +8497,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8313,41 +8522,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8373,98 +8582,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8498,29 +8707,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8532,53 +8741,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8608,240 +8817,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8849,75 +9054,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8925,50 +9146,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8978,69 +9199,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9059,15 +9285,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9221,22 +9447,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9244,61 +9470,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9306,7 +9533,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9314,7 +9541,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9322,7 +9549,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9482,12 +9709,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9514,16 +9741,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9533,7 +9760,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9606,105 +9833,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9714,39 +9945,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9958,11 +10189,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10067,100 +10298,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10205,7 +10441,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10281,106 +10517,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10396,54 +10613,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10703,228 +10920,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10932,58 +11149,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11249,11 +11466,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11287,32 +11509,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11330,212 +11552,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/it/LC_MESSAGES/nova.po b/nova/locale/it/LC_MESSAGES/nova.po
index d0c241982..0dff4c257 100644
--- a/nova/locale/it/LC_MESSAGES/nova.po
+++ b/nova/locale/it/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2012-04-01 18:59+0000\n"
"Last-Translator: simone.sandri <lexluxsox@hotmail.it>\n"
"Language-Team: Italian <it@li.org>\n"
@@ -80,300 +80,300 @@ msgstr "Impossibile riavviare l'istanza"
msgid "Flags path: %s"
msgstr "Percorso dei flags: %s"
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr "E' stato riscontrato un errore sconosciuto"
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr "L'utente non ha i privilegi dell'amministratore"
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, fuzzy, python-format
msgid "Image %(image_id)s is not active."
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/exception.py:202
+#: nova/exception.py:204
#, fuzzy, python-format
msgid "Not authorized for image %(image_id)s."
msgstr "nessun metodo per il messaggio: %s"
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr "Parametri inaccettabili."
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr "La richiesta non è valida."
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr "E' stato ricevuto un input non valido"
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr "Volume non valido"
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/exception.py:327
+#: nova/exception.py:329
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr "Impossibile sospendere l'istanza"
-#: nova/exception.py:335
+#: nova/exception.py:337
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Impossibile sospendere l'istanza"
-#: nova/exception.py:339
+#: nova/exception.py:341
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "Impossibile sospendere l'istanza"
-#: nova/exception.py:343
+#: nova/exception.py:345
#, fuzzy, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr "Impossibile riavviare l'istanza"
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr "Impossibile riavviare l'istanza"
-#: nova/exception.py:351
+#: nova/exception.py:353
#, fuzzy
msgid "Failed to terminate instance"
msgstr "Impossibile riavviare l'istanza"
-#: nova/exception.py:355
+#: nova/exception.py:357
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Impossibile riavviare l'istanza"
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -381,86 +381,86 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "E' stato ricevuto un input non valido"
-#: nova/exception.py:448
+#: nova/exception.py:450
#, fuzzy
msgid "Constraint not met."
msgstr "istanza %s: ripristino"
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -468,896 +468,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "Mountpoint %(mountpoint)s montato all'istanza %(instance_name)s"
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "nessun metodo per il messaggio: %s"
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "nessun metodo per il messaggio: %s"
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1372,15 +1393,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Impossibile riavviare l'istanza"
@@ -1403,17 +1424,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1446,120 +1467,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr "debug in callback: %s"
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
+msgstr ""
+
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, fuzzy, python-format
msgid "Unable to find cert_file : %s"
msgstr "Impossibile localizzare il volume %s"
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, fuzzy, python-format
msgid "Unable to find ca_file : %s"
msgstr "Impossibile localizzare il volume %s"
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, fuzzy, python-format
msgid "Unable to find key_file : %s"
msgstr "Impossibile localizzare il volume %s"
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1573,7 +1604,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1719,262 +1750,257 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
#, fuzzy
msgid "Only instances implemented"
msgstr "istanza %s: ripristino"
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2145,89 +2171,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2275,6 +2319,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2321,21 +2366,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2343,6 +2391,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2367,6 +2417,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2380,14 +2431,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2404,6 +2455,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2420,276 +2472,280 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
#, fuzzy
msgid "Image that the instance was started with could not be found."
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
#, fuzzy
msgid "Invalid instance image."
msgstr "Volume non valido"
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
#, fuzzy
msgid "Unable to set password on instance"
msgstr "Impossibile riavviare l'istanza"
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2730,6 +2786,7 @@ msgstr "Compute.api::reset_network %s"
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2769,6 +2826,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2863,36 +2921,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, fuzzy, python-format
msgid "Cell %(id)s not found."
msgstr "istanza %s: sospensione in corso"
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2934,32 +3001,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2970,40 +3037,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "istanza %s: sospensione in corso"
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3038,7 +3112,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3086,7 +3160,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3277,30 +3351,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3312,7 +3392,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3329,16 +3409,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3364,7 +3444,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3423,12 +3503,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3447,153 +3532,166 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, fuzzy, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr "nessun metodo per il messaggio: %s"
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, fuzzy, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr "nessun metodo per il messaggio: %s"
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Mountpoint %(mountpoint)s montato all'istanza %(instance_name)s"
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
#, fuzzy
msgid "Got update to delete instance"
msgstr "Mountpoint %(mountpoint)s montato all'istanza %(instance_name)s"
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3605,7 +3703,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3638,35 +3736,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr "Impossibile localizzare il volume %s"
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3687,316 +3834,316 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "ricevuto %s"
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "istanza %s: ripristino rete"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "Impossibile sospendere l'istanza"
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "istanza %s: ripristino"
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -4010,248 +4157,248 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "Impossibile riavviare l'istanza"
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
#, fuzzy
msgid "Going to try to stop instance"
msgstr "Impossibile riavviare l'istanza"
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
#, fuzzy
msgid "Going to try to start instance"
msgstr "Impossibile riavviare l'istanza"
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, fuzzy, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "Impossibile riavviare l'istanza"
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Impossibile localizzare il volume %s"
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Impossibile localizzare il volume %s"
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4316,12 +4463,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4342,665 +4489,689 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Impossibile riavviare l'istanza"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
#, fuzzy
msgid "Failed to resume instance"
msgstr "Impossibile sospendere l'istanza"
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Impossibile riavviare l'istanza"
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
#, fuzzy
msgid "Rebuilding instance"
msgstr "Riavviando l'istanza %s"
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Impossibile smontare il volume %s"
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
#, fuzzy
msgid "Rebooting instance"
msgstr "Riavviando l'istanza %s"
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
#, fuzzy
msgid "instance snapshotting"
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Impossibile sospendere l'istanza"
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
#, fuzzy
msgid "Instance has no source host"
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "istanza %s: ricezione diagnostiche"
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
#, fuzzy
msgid "Reset network"
msgstr "istanza %s: ripristino rete"
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, fuzzy, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Impossibile riavviare l'istanza"
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5100,11 +5271,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5120,15 +5291,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5210,7 +5400,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "Impossibile riavviare l'istanza"
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5233,44 +5423,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5301,43 +5491,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5366,47 +5556,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5613,42 +5803,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr "Avviando l'interfaccia VLAN %s"
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "Avviando l'interfaccia Bridge per %s"
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "Impossibile sospendere l'istanza"
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "Avviando l'interfaccia Bridge per %s"
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5768,13 +5958,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5810,152 +6000,153 @@ msgstr "ricevuto %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
#, fuzzy
msgid "Port not found"
msgstr "istanza %s: sospensione in corso"
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5976,12 +6167,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6185,11 +6376,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6239,11 +6440,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6673,86 +6869,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, fuzzy, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr "Mountpoint %(mountpoint)s montato all'istanza %(instance_name)s"
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6787,35 +6980,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6839,7 +7032,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6857,10 +7050,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6908,13 +7114,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7099,59 +7310,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7271,19 +7484,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7293,25 +7506,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7320,7 +7533,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7343,20 +7556,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7375,37 +7588,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, fuzzy, python-format
msgid "Destroy called on non-existing instance %s"
msgstr "Impossibile riavviare l'istanza"
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7458,85 +7671,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, fuzzy, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, fuzzy, python-format
msgid "PXE deploy started for instance %s"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "Impossibile riavviare l'istanza"
@@ -7621,24 +7834,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7648,7 +7861,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7662,22 +7875,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, fuzzy, python-format
msgid "Baremetal interface %s not found"
msgstr "istanza %s: sospensione in corso"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7790,12 +7999,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -8050,12 +8259,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, fuzzy, python-format
msgid "Failed to mount image %(ex)s)"
msgstr "Impossibile localizzare il volume %s"
@@ -8084,23 +8293,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8113,7 +8322,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8132,19 +8341,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8233,17 +8442,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, fuzzy, python-format
msgid "Starting live migration for VM: %s"
msgstr "Avviando l'interfaccia Bridge per %s"
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8262,11 +8471,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8290,45 +8499,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, fuzzy, python-format
msgid "Getting info for disk: %s"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8347,12 +8556,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8372,41 +8581,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8433,107 +8642,107 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
#, fuzzy
msgid "Spawning new instance"
msgstr "Riavviando l'istanza %s"
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
#, fuzzy
msgid "Spawn instance failed"
msgstr "Impossibile sospendere l'istanza"
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, fuzzy, python-format
msgid "Creating nic for instance: %s"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, fuzzy, python-format
msgid "Using config drive for instance: %s"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, fuzzy, python-format
msgid "Got request to destroy instance: %s"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, fuzzy, python-format
msgid "Instance not found: %s"
msgstr "istanza %s: sospensione in corso"
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, fuzzy, python-format
msgid "Failed to destroy instance: %s"
msgstr "Impossibile smontare il volume %s"
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
#, fuzzy
msgid "reboot instance"
msgstr "Riavviando l'istanza %s"
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
#, fuzzy
msgid "Pause instance"
msgstr "Impossibile sospendere l'istanza"
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
#, fuzzy
msgid "Unpause instance"
msgstr "Impossibile sospendere l'istanza"
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
#, fuzzy
msgid "Suspend instance"
msgstr "Impossibile sospendere l'istanza"
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
#, fuzzy
msgid "Resume instance"
msgstr "Impossibile sospendere l'istanza"
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
#, fuzzy
msgid "Power off instance"
msgstr "Impossibile sospendere l'istanza"
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
#, fuzzy
msgid "Power on instance"
msgstr "Riavviando l'istanza %s"
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8568,29 +8777,29 @@ msgstr "istanza %s: sospensione in corso"
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8602,53 +8811,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, fuzzy, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, fuzzy, python-format
msgid "Attach volume failed: %s"
msgstr "Impossibile smontare il volume %s"
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, fuzzy, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, fuzzy, python-format
msgid "Detaching physical disk from instance: %s"
msgstr "Impossibile montare il volume all'istanza %s"
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8678,244 +8887,240 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Impossibile riavviare l'istanza"
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "volume %s: creato con successo"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Impossibile riavviare l'istanza"
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
#, fuzzy
msgid "Guest does not have a console available"
msgstr "L'utente non ha i privilegi dell'amministratore"
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8923,75 +9128,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "Impossibile smontare il volume %s"
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8999,50 +9220,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9052,69 +9273,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping %s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3609
+#, python-format
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9133,15 +9359,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9295,22 +9521,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9318,61 +9544,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9380,7 +9607,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9388,7 +9615,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9396,7 +9623,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9558,12 +9785,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9590,16 +9817,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9609,7 +9836,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9682,105 +9909,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr "istanza %s: sospensione in corso"
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, fuzzy, python-format
msgid "PowerVM image creation failed: %s"
msgstr "Avviando l'interfaccia Bridge per %s"
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, fuzzy, python-format
msgid "Creating LPAR instance '%s'"
msgstr "Riavviando l'istanza %s"
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, fuzzy, python-format
msgid "Activating the LPAR instance '%s'"
msgstr "Riavviando l'istanza %s"
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, fuzzy, python-format
msgid "Stopping instance %s for snapshot."
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9790,39 +10021,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -10034,11 +10265,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10143,101 +10374,106 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "istanza %s: creazione snapshot in corso"
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
#, fuzzy
msgid "instance not present"
msgstr "istanza %s: ripristino"
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Impossibile localizzare il volume %s"
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10282,7 +10518,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10360,106 +10596,87 @@ msgstr "Impossibile smontare il volume %s"
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr "Mountpoint %(mountpoint)s smontato dall'istanza %(instance_name)s"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10475,54 +10692,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr "Sollevando NotImplemented"
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "Dichiarando la coda %s"
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10782,229 +10999,229 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, fuzzy, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr "nessun metodo per il messaggio: %s"
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Kernel/Ramdisk VDI %s distrutti"
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
#, fuzzy
msgid "Failed to fetch glance image"
msgstr "Impossibile riavviare l'istanza"
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "Cercando vdi %s per kernel PV"
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -11012,58 +11229,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11333,11 +11550,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11371,32 +11593,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11414,212 +11636,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr "E' stato riscontrato un errore sconosciuto"
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr "Impossibile montare il volume all'istanza %s"
-
#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr "istanza %s: creazione snapshot in corso"
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr "istanza %s: sospensione in corso"
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
-#~ msgstr ""
-
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr "Chiamando %(localname)s %(impl)s"
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr "Impossibile smontare il volume %s"
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
-#~ msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/it_IT/LC_MESSAGES/nova.po b/nova/locale/it_IT/LC_MESSAGES/nova.po
index 408217e41..3c198cd4e 100644
--- a/nova/locale/it_IT/LC_MESSAGES/nova.po
+++ b/nova/locale/it_IT/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Italian (Italy) "
@@ -80,298 +80,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1715,261 +1746,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2139,89 +2165,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2269,6 +2313,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2315,21 +2360,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2337,6 +2385,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2361,6 +2411,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2374,14 +2425,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2398,6 +2449,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2414,273 +2466,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2721,6 +2777,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2760,6 +2817,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2852,36 +2910,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2921,32 +2988,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2957,40 +3024,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3024,7 +3098,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3072,7 +3146,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3263,30 +3337,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3298,7 +3378,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3315,16 +3395,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3348,7 +3428,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3407,12 +3487,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3431,152 +3516,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3588,7 +3686,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3621,35 +3719,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3670,312 +3817,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3989,244 +4136,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4290,12 +4437,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4316,653 +4463,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5062,11 +5233,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5082,15 +5253,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5169,7 +5359,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5191,44 +5381,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5259,43 +5449,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5324,47 +5514,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5570,42 +5760,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5725,13 +5915,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5766,151 +5956,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5931,12 +6122,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6139,11 +6330,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6193,11 +6394,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6622,86 +6818,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6736,35 +6929,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6788,7 +6981,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6806,10 +6999,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6857,13 +7063,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7048,59 +7259,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7220,19 +7433,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7242,25 +7455,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7269,7 +7482,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7291,20 +7504,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7323,37 +7536,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7401,85 +7614,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7564,24 +7777,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7591,7 +7804,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7605,22 +7818,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7733,12 +7942,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7991,12 +8200,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8025,23 +8234,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8054,7 +8263,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8073,19 +8282,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8174,17 +8383,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8203,11 +8412,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8231,45 +8440,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8288,12 +8497,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8313,41 +8522,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8373,98 +8582,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8498,29 +8707,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8532,53 +8741,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8608,240 +8817,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8849,75 +9054,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8925,50 +9146,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8978,69 +9199,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9059,15 +9285,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9221,22 +9447,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9244,61 +9470,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9306,7 +9533,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9314,7 +9541,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9322,7 +9549,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9482,12 +9709,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9514,16 +9741,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9533,7 +9760,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9606,105 +9833,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9714,39 +9945,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9958,11 +10189,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10067,100 +10298,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10205,7 +10441,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10281,106 +10517,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10396,54 +10613,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10703,228 +10920,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10932,58 +11149,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11249,11 +11466,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11287,32 +11509,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11330,212 +11552,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/ja/LC_MESSAGES/nova.po b/nova/locale/ja/LC_MESSAGES/nova.po
index 98be6cc06..df7be579f 100644
--- a/nova/locale/ja/LC_MESSAGES/nova.po
+++ b/nova/locale/ja/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2011-08-23 11:22+0000\n"
"Last-Translator: Thierry Carrez <thierry.carrez+lp@gmail.com>\n"
"Language-Team: \n"
@@ -80,301 +80,301 @@ msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
msgid "Flags path: %s"
msgstr "Flags ã®ãƒ‘ス: %s"
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, fuzzy, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr "ip %s ã«å¯¾ã™ã‚‹ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/exception.py:167
+#: nova/exception.py:169
#, fuzzy, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr "プライベートキーã®å¾©å·ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, fuzzy, python-format
msgid "Image %(image_id)s is not active."
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/exception.py:202
+#: nova/exception.py:204
#, fuzzy, python-format
msgid "Not authorized for image %(image_id)s."
msgstr "メッセージ %s ã«å¯¾ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ãŒå­˜åœ¨ã—ã¾ã›ã‚“。"
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
#, fuzzy
msgid "Invalid metadata size"
msgstr "Invalid signature: ユーザ %s ã®ç½²åãŒä¸æ­£ã§ã™ã€‚"
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/exception.py:327
+#: nova/exception.py:329
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "ip %s ã«å¯¾ã™ã‚‹ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/exception.py:339
+#: nova/exception.py:341
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
#, fuzzy
msgid "Failed to terminate instance"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/exception.py:355
+#: nova/exception.py:357
#, fuzzy
msgid "Failed to deploy instance"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -382,86 +382,86 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
#, fuzzy
msgid "Constraint not met."
msgstr "インスタンス %s: rescued"
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -469,897 +469,918 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "インスタンス %(instance_name)s ã«ãƒžã‚¦ãƒ³ãƒˆãƒã‚¤ãƒ³ãƒˆ %(mountpoint)s を接続(attach)ã—ã¾ã—ãŸ"
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr "インスタンス %(instance_name)s: インスタンスファイル群 %(target)s を削除ã—ã¦ã„ã¾ã™"
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, fuzzy, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr "インスタンス %(instance_id)s ã«ã‚¢ãƒ‰ãƒ¬ã‚¹ %(public_ip)s を割り当ã¦"
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, fuzzy, python-format
msgid "Floating ip %(address)s already exists."
msgstr "グループ %s ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
#, fuzzy
msgid "Floating ip pool not found."
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "ボリュームグループ%sãŒå­˜åœ¨ã—ã¾ã›ã‚“。"
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, fuzzy, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, fuzzy, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr "グループ %s ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, fuzzy, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr "グループ %s ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/exception.py:921
+#: nova/exception.py:923
#, fuzzy, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr "グループ %s ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "イメージをループãƒãƒƒã‚¯ %s ã«ã‚¢ã‚¿ãƒƒãƒã§ãã¾ã›ã‚“。"
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "イメージをループãƒãƒƒã‚¯ %s ã«ã‚¢ã‚¿ãƒƒãƒã§ãã¾ã›ã‚“。"
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, fuzzy, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr "ボリューム %(volume_id)s をインスタンス %(instance_id)s ã®ãƒ‡ãƒã‚¤ã‚¹ %(device)s ã«æŽ¥ç¶š"
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "グループ %s ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1374,15 +1395,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
#, fuzzy
msgid "Failed to get nw_info"
msgstr "ip %s ã«å¯¾ã™ã‚‹ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
@@ -1405,17 +1426,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1448,120 +1469,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr "コールãƒãƒƒã‚¯ä¸­ã®ãƒ‡ãƒãƒƒã‚°: %s"
-#: nova/utils.py:334
+#: nova/utils.py:362
+#, python-format
+msgid "Couldn't get IPv4 : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:379
+#, python-format
+msgid "IPv4 address is not found.: %s"
+msgstr ""
+
+#: nova/utils.py:382
+#, python-format
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:397
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "リンクローカルアドレスãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: %s"
-#: nova/utils.py:337
+#: nova/utils.py:400
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr "%(interface)s ã®ãƒ­ãƒ¼ã‚«ãƒ«IPアドレスã®ãƒªãƒ³ã‚¯ãŒå–å¾—ã§ãã¾ã›ã‚“:%(ex)s"
-#: nova/utils.py:376
+#: nova/utils.py:439
#, python-format
msgid "Invalid backend: %s"
msgstr "ä¸æ­£ãªãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã§ã™: %s"
-#: nova/utils.py:437
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, fuzzy, python-format
msgid "Unable to find cert_file : %s"
msgstr "VBD %s ã‹ã‚‰ SRã‚’å–å¾—ã§ãã¾ã›ã‚“。"
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, fuzzy, python-format
msgid "Unable to find ca_file : %s"
msgstr "VBD %s ã‹ã‚‰ SRã‚’å–å¾—ã§ãã¾ã›ã‚“。"
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, fuzzy, python-format
msgid "Unable to find key_file : %s"
msgstr "VBD %s ã‹ã‚‰ SRã‚’å–å¾—ã§ãã¾ã›ã‚“。"
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr "__call__ を実装ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“"
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1575,7 +1606,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1722,265 +1753,260 @@ msgstr "未知ã®ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚å†åº¦ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’実行
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr "未サãƒãƒ¼ãƒˆã® API リクエスト: コントローラ = %(controller)s, アクション = %(action)s"
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, fuzzy, python-format
msgid "Could not find key pair(s): %s"
msgstr "プライベートキーã®å¾©å·ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr "Create key pair: キーペア %s を作æˆã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr "Delete key pair: キーペア %s を削除ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, fuzzy, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr "有効ãªãƒ«ãƒ¼ãƒ«ã‚’作æˆã™ã‚‹ç‚ºã®å分ãªãƒ‘ラメータãŒã‚ã‚Šã¾ã›ã‚“"
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr "指定ã•ã‚ŒãŸãƒ‘ラメータã«è©²å½“ã™ã‚‹ãƒ«ãƒ¼ãƒ«ãŒã‚ã‚Šã¾ã›ã‚“。"
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, fuzzy, python-format
msgid "%s - This rule already exists in group"
msgstr "指定ã•ã‚ŒãŸãƒ«ãƒ¼ãƒ«ã¯æ—¢ã«ã‚°ãƒ«ãƒ¼ãƒ— %s ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr "Create volume: %s GBã®ãƒœãƒªãƒ¥ãƒ¼ãƒ ã‚’作æˆã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr "ボリューム %(volume_id)s をインスタンス %(instance_id)s ã®ãƒ‡ãƒã‚¤ã‚¹ %(device)s ã«æŽ¥ç¶š"
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "Detach volume: ボリューム %s をデタッãƒã—ã¾ã™"
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
#, fuzzy
msgid "Detach Volume Failed."
msgstr "Detach volume: ボリューム %s をデタッãƒã—ã¾ã™"
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr "アトリビュート %s ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。"
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr "Allocate address: アドレスを割り当ã¦ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr "Release address: アドレス %s を開放ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr "インスタンス %(instance_id)s ã«ã‚¢ãƒ‰ãƒ¬ã‚¹ %(public_ip)s を割り当ã¦"
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
#, fuzzy
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Disassociate address: アドレス %s ã®é–¢é€£ä»˜ã‘を解除ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
#, fuzzy
msgid "Error, unable to associate floating ip."
msgstr "Disassociate address: アドレス %s ã®é–¢é€£ä»˜ã‘を解除ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr "Disassociate address: アドレス %s ã®é–¢é€£ä»˜ã‘を解除ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr "Reboot instance: インスタンス %r ã‚’å†èµ·å‹•ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr "De-registering image: イメージ %s を登録解除ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr "イメージ %(image_location)s ㌠ID %(image_id)s ã§ç™»éŒ²ã•ã‚Œã¾ã—ãŸ"
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr "ユーザã¾ãŸã¯ã‚°ãƒ«ãƒ¼ãƒ—ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。"
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr "グループ \"all\" ã®ã¿ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr "operation_type 㯠add ã¾ãŸã¯ remove ã®ä½•ã‚Œã‹ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr "イメージ %s ã®å…¬é–‹è¨­å®šã‚’æ›´æ–°ã—ã¾ã™ã€‚"
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
#, fuzzy
msgid "Only instances implemented"
msgstr "インスタンス %s: rescued"
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2150,89 +2176,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2280,6 +2324,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2326,21 +2371,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, fuzzy, python-format
msgid "Invalid is_public filter [%s]"
msgstr "Invalid signature: ユーザ %s ã®ç½²åãŒä¸æ­£ã§ã™ã€‚"
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, fuzzy, python-format
msgid "Invalid minRam filter [%s]"
msgstr "Invalid signature: ユーザ %s ã®ç½²åãŒä¸æ­£ã§ã™ã€‚"
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2348,6 +2396,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2372,6 +2422,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2385,14 +2436,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2409,6 +2460,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2426,278 +2478,282 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
#, fuzzy
msgid "HostId cannot be updated."
msgstr "マウントãƒã‚¤ãƒ³ãƒˆã‚’変æ›ã§ãã¾ã›ã‚“。 %s"
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
#, fuzzy
msgid "Personality cannot be updated."
msgstr "マウントãƒã‚¤ãƒ³ãƒˆã‚’変æ›ã§ãã¾ã›ã‚“。 %s"
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
#, fuzzy
msgid "Image that the instance was started with could not be found."
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
#, fuzzy
msgid "Invalid instance image."
msgstr "インスタンス %s: rescued"
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
#, fuzzy
msgid "Unable to set password on instance"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2738,6 +2794,7 @@ msgstr "例外: Compute.api::reset_network %s"
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2777,6 +2834,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2872,36 +2930,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, fuzzy, python-format
msgid "Cell %(id)s not found."
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2943,33 +3010,33 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
#, fuzzy
msgid "Coverage not running"
msgstr "xvp ãŒå®Ÿè¡Œã•ã‚Œã¦ã„ã¾ã›ã‚“…"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2980,40 +3047,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3048,7 +3122,7 @@ msgstr "グループ %s ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3097,7 +3171,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr "インスタンス %(instance_id)s ã«ã‚¢ãƒ‰ãƒ¬ã‚¹ %(public_ip)s を割り当ã¦"
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3291,30 +3365,36 @@ msgid "Create networks failed"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3326,7 +3406,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr "有効ãªãƒ«ãƒ¼ãƒ«ã‚’作æˆã™ã‚‹ç‚ºã®å分ãªãƒ‘ラメータãŒã‚ã‚Šã¾ã›ã‚“"
@@ -3344,16 +3424,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3379,7 +3459,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3438,12 +3518,17 @@ msgstr "例外 %s ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, fuzzy, python-format
msgid "Reserving IP address %s"
msgstr "Release address: アドレス %s を開放ã—ã¾ã™ã€‚"
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, fuzzy, python-format
msgid "Unreserving IP address %s"
msgstr "Release address: アドレス %s を開放ã—ã¾ã™ã€‚"
@@ -3462,153 +3547,166 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, fuzzy, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr "メッセージ %s ã«å¯¾ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ãŒå­˜åœ¨ã—ã¾ã›ã‚“。"
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, fuzzy, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr "メッセージ %s ã«å¯¾ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ãŒå­˜åœ¨ã—ã¾ã›ã‚“。"
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
#, fuzzy
msgid "Got update to delete instance"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "インスタンス %(instance_id)s ã«ã‚¢ãƒ‰ãƒ¬ã‚¹ %(public_ip)s を割り当ã¦"
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3620,7 +3718,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3653,35 +3751,84 @@ msgstr "%s 用ã®VPNã‚’èµ·å‹•ã—ã¾ã™ã€‚"
msgid "Failed to load %s"
msgstr "ボリューム %s ã®å­˜åœ¨ãŒç¢ºèªã§ãã¾ã›ã‚“。"
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3702,320 +3849,320 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "å—信: %s"
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, fuzzy, python-format
msgid "error: %s"
msgstr "エラー %s をキャッãƒã—ã¾ã—ãŸã€‚"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "開始アドレス"
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "グループ %s ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr "開始アドレス"
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "Reboot instance: インスタンス %r ã‚’å†èµ·å‹•ã—ã¾ã™ã€‚"
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "予期ã—ãªã„エラー発生: %s"
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "インスタンス %s: rescued"
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "エラー %s をキャッãƒã—ã¾ã—ãŸã€‚"
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "エラー %s をキャッãƒã—ã¾ã—ãŸã€‚"
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -4029,253 +4176,253 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
#, fuzzy
msgid "Cannot run any more instances of this type."
msgstr "インスタンスã®ã‚¯ã‚ªãƒ¼ã‚¿ã‚’超ãˆã¾ã—ãŸã€‚ã“ã®ã‚¿ã‚¤ãƒ—ã«ãŠã„ã¦ã¯ã‚㨠%s インスタンスã—ã‹å®Ÿè¡Œã§ãã¾ã›ã‚“。"
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, fuzzy, python-format
msgid "Can only run %s more instances of this type."
msgstr "インスタンスã®ã‚¯ã‚ªãƒ¼ã‚¿ã‚’超ãˆã¾ã—ãŸã€‚ã“ã®ã‚¿ã‚¤ãƒ—ã«ãŠã„ã¦ã¯ã‚㨠%s インスタンスã—ã‹å®Ÿè¡Œã§ãã¾ã›ã‚“。"
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "インスタンス %s ã«ãƒœãƒªãƒ¥ãƒ¼ãƒ ã‚’接続(attach)ã§ãã¾ã›ã‚“。"
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr "%s 個ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®èµ·å‹•ã‚’始ã‚ã¾ã™â€¦"
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
#, fuzzy
msgid "instance termination disabled"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
#, fuzzy
msgid "Going to try to soft delete instance"
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
#, fuzzy
msgid "Going to try to terminate instance"
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
#, fuzzy
msgid "Going to try to stop instance"
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
#, fuzzy
msgid "Going to try to start instance"
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, fuzzy, python-format
msgid "snapshot for %s"
msgstr "VM %s ã«å¯¾ã™ã‚‹ã‚¹ãƒŠãƒƒãƒ—ショットを開始ã—ã¾ã™ã€‚"
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, fuzzy, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr "Create Security Group: セキュリティグループ %s を作æˆã—ã¾ã™ã€‚"
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "VBD %s ã®å‰Šé™¤ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "VBD %s ã®å‰Šé™¤ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
#, fuzzy
msgid "Security group is still in use"
msgstr "Revoke security group ingress: ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚°ãƒ«ãƒ¼ãƒ—è¨±å¯ %s ã®å–消"
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr "Delete security group: セキュリティグループ %s を削除ã—ã¾ã™ã€‚"
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr "Authorize security group ingress: ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚°ãƒ«ãƒ¼ãƒ—è¨±å¯ %s"
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr "Revoke security group ingress: ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚°ãƒ«ãƒ¼ãƒ—è¨±å¯ %s ã®å–消"
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4340,12 +4487,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4366,674 +4513,698 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
#, fuzzy
msgid "Failed to resume instance"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "予期ã—ãªã„エラー発生: %s"
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
#, fuzzy
msgid "Failed to dealloc network for deleted instance"
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, fuzzy, python-format
msgid "Error: %s"
msgstr "エラー %s をキャッãƒã—ã¾ã—ãŸã€‚"
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
#, fuzzy
msgid "Allocating IP information in the background."
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
#, fuzzy
msgid "Rebuilding instance"
msgstr "Rebooting instance: インスタンス %s ã‚’å†èµ·å‹•ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Detach volume: ボリューム %s をデタッãƒã—ã¾ã™"
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
#, fuzzy
msgid "Rebooting instance"
msgstr "Rebooting instance: インスタンス %s ã‚’å†èµ·å‹•ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
#, fuzzy
msgid "Instance disappeared during reboot"
msgstr "インスタンス%s: å†èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
#, fuzzy
msgid "instance snapshotting"
msgstr "snapshotting: インスタンス %s ã®ã‚¹ãƒŠãƒƒãƒ—ショットをå–得中"
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "エラー %s をキャッãƒã—ã¾ã—ãŸã€‚"
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
#, fuzzy
msgid "Unrescuing"
msgstr "Unrescuing: インスタンス %s をアンレスキューã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
#, fuzzy
msgid "Instance has no source host"
msgstr "snapshotting: インスタンス %s ã®ã‚¹ãƒŠãƒƒãƒ—ショットをå–得中"
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "retrieving diagnostics: インスタンス %s ã®è¨ºæ–­æƒ…報をå–å¾—ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
#, fuzzy
msgid "Reset network"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
#, fuzzy
msgid "Inject network info"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
#, fuzzy
msgid "Get console output"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
#, fuzzy
msgid "Getting vnc console"
msgstr "コンソールを追加ã—ã¦ã„ã¾ã™"
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
#, fuzzy
msgid "Getting spice console"
msgstr "コンソールを追加ã—ã¦ã„ã¾ã™"
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, fuzzy, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr "ボリューム切断: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "ボリュームを未知ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ %s ã‹ã‚‰ãƒ‡ã‚¿ãƒƒãƒã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "ボリューム切断: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "ip %s ã«å¯¾ã™ã‚‹ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Deleting user: ユーザ %s を削除ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Deleting user: ユーザ %s を削除ã—ã¾ã™ã€‚"
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5133,11 +5304,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5153,15 +5324,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr "コンソールを追加ã—ã¦ã„ã¾ã™"
@@ -5241,7 +5431,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5263,44 +5453,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, fuzzy, python-format
msgid "Invalid floating ip id %s in request"
msgstr "インスタンス %s: rescued"
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, fuzzy, python-format
msgid "Invalid floating IP %s in request"
msgstr "インスタンス %s: rescued"
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, fuzzy, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr "インスタンス %s: rescued"
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, fuzzy, python-format
msgid "Invalid virtual interface address %s in request"
msgstr "インスタンス %s: rescued"
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "インスタンス %s: rescued"
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5331,43 +5521,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5396,47 +5586,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr "プライベートキーã®å¾©å·ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr "åˆæœŸåŒ–ベクタã®å¾©å·ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr "イメージファイル %(image_file)s ã®å¾©å·ã«å¤±æ•—ã—ã¾ã—ãŸ: %(err)s"
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5643,42 +5833,42 @@ msgstr "radvd åœæ­¢ãŒ %s 例外を発行ã—ã¾ã—ãŸ"
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d ãŒã‚¹ãƒˆãƒ¼ãƒ«ã—ã¦ã„ã‚‹ã®ã§ radvd ã‚’å†å®Ÿè¡Œã—ã¦ã„ã¾ã™â€¦"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "ä¸æ­£ãªãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã§ã™: %s"
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr "VLANインタフェース %s を開始ã—ã¾ã™ã€‚"
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "%s 用ã®ãƒ–リッジインタフェースを開始ã—ã¾ã™ã€‚"
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "プライベートキーã®å¾©å·ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "%s 用ã®ãƒ–リッジインタフェースを開始ã—ã¾ã™ã€‚"
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, fuzzy, python-format
msgid "Done starting bridge %s"
msgstr "xvp ã®é–‹å§‹ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s"
@@ -5798,13 +5988,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®æ•°ã¨VLANã®é–‹å§‹ç•ªå·ã®å’Œã¯ 4094 より大ããã§ãã¾ã›ã‚“。"
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5840,155 +6030,156 @@ msgstr "å—信: %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, fuzzy, python-format
msgid "empty project id for instance %s"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
#, fuzzy
msgid "Port not found"
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, fuzzy, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, fuzzy, python-format
msgid "Quantum Error creating security group %s"
msgstr "Delete security group: セキュリティグループ %s を削除ã—ã¾ã™ã€‚"
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, fuzzy, python-format
msgid "Quantum Error updating security group %s"
msgstr "Delete security group: セキュリティグループ %s を削除ã—ã¾ã™ã€‚"
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, fuzzy, python-format
msgid "Quantum security group %s not found"
msgstr "Delete security group: セキュリティグループ %s を削除ã—ã¾ã™ã€‚"
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "エラー %s をキャッãƒã—ã¾ã—ãŸã€‚"
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
#, fuzzy
msgid "Quantum Error getting security groups"
msgstr "Delete security group: セキュリティグループ %s を削除ã—ã¾ã™ã€‚"
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
#, fuzzy
msgid "Security group id should be uuid"
msgstr "Revoke security group ingress: ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚°ãƒ«ãƒ¼ãƒ—è¨±å¯ %s ã®å–消"
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "Delete security group: セキュリティグループ %s を削除ã—ã¾ã™ã€‚"
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
#, fuzzy
msgid "Quantum Error:"
msgstr "エラー %s をキャッãƒã—ã¾ã—ãŸã€‚"
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, fuzzy, python-format
msgid "Quantum security group rule %s not found"
msgstr "Authorize security group ingress: ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚°ãƒ«ãƒ¼ãƒ—è¨±å¯ %s"
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -6009,12 +6200,12 @@ msgstr "xvp ã®é–‹å§‹ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s"
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6218,11 +6409,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6272,11 +6473,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6706,86 +6902,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, fuzzy, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6820,35 +7013,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6872,7 +7065,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6890,10 +7083,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6941,13 +7147,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7132,59 +7343,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr "インスタンス %s ã¯å®Ÿè¡Œä¸­ã§ã™ã€‚"
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr "インスタンス %s を終了ã—ãŸå¾Œã§ã™ã€‚"
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7305,19 +7518,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7327,25 +7540,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7354,7 +7567,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7376,20 +7589,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7408,37 +7621,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, fuzzy, python-format
msgid "Destroy called on non-existing instance %s"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7491,85 +7704,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, fuzzy, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, fuzzy, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr "ファイルパス '%s' を埋ã‚込んã§ã„ã¾ã™"
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, fuzzy, python-format
msgid "PXE deploy started for instance %s"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, fuzzy, python-format
msgid "PXE deploy completed for instance %s"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, fuzzy, python-format
msgid "PXE deploy failed for instance %s"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
@@ -7654,24 +7867,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7681,7 +7894,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7695,22 +7908,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, fuzzy, python-format
msgid "Baremetal interface %s not found"
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7823,12 +8032,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -8082,12 +8291,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, fuzzy, python-format
msgid "File path %s not valid"
msgstr "ファイルパス '%s' を埋ã‚込んã§ã„ã¾ã™"
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, fuzzy, python-format
msgid "Failed to mount image %(ex)s)"
msgstr "ファイルシステム %s ã®ãƒžã‚¦ãƒ³ãƒˆã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
@@ -8116,23 +8325,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
#, fuzzy
msgid "get_console_output called"
msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
@@ -8146,7 +8355,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8166,19 +8375,19 @@ msgstr "Release address: アドレス %s を開放ã—ã¾ã™ã€‚"
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8267,17 +8476,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, fuzzy, python-format
msgid "Starting live migration for VM: %s"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8296,11 +8505,11 @@ msgstr "getter %s をコールã—ã¾ã™ã€‚"
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8324,45 +8533,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, fuzzy, python-format
msgid "Getting info for disk: %s"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8381,12 +8590,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, fuzzy, python-format
msgid "Creating directory: %s"
msgstr "%s 用ã®VPNã‚’èµ·å‹•ã—ã¾ã™ã€‚"
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, fuzzy, python-format
msgid "Removing directory: %s"
msgstr "Deleting user: ユーザ %s を削除ã—ã¾ã™ã€‚"
@@ -8406,41 +8615,41 @@ msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, fuzzy, python-format
msgid "Removing snapshot %s"
msgstr "VM %s ã«å¯¾ã™ã‚‹ã‚¹ãƒŠãƒƒãƒ—ショットを開始ã—ã¾ã™ã€‚"
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8467,107 +8676,107 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
#, fuzzy
msgid "Spawning new instance"
msgstr "raw instanceを生æˆã—ã¾ã™ã€‚"
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
#, fuzzy
msgid "Spawn instance failed"
msgstr "NotFound 発生: %s"
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, fuzzy, python-format
msgid "Creating nic for instance: %s"
msgstr "raw instanceを生æˆã—ã¾ã™ã€‚"
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, fuzzy, python-format
msgid "Using config drive for instance: %s"
msgstr "インスタンス終了処ç†ã‚’開始ã—ã¾ã™ã€‚"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, fuzzy, python-format
msgid "Creating config drive at %(path)s"
msgstr "ファイルパス '%s' を埋ã‚込んã§ã„ã¾ã™"
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "ファイルパス '%s' を埋ã‚込んã§ã„ã¾ã™"
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, fuzzy, python-format
msgid "Got request to destroy instance: %s"
msgstr "VBD %s ã®å‰Šé™¤ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, fuzzy, python-format
msgid "Instance not found: %s"
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, fuzzy, python-format
msgid "Failed to destroy instance: %s"
msgstr "VBD %s ã®å‰Šé™¤ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
#, fuzzy
msgid "reboot instance"
msgstr "Rebooting instance: インスタンス %s ã‚’å†èµ·å‹•ã—ã¾ã™ã€‚"
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
#, fuzzy
msgid "Pause instance"
msgstr "Reboot instance: インスタンス %r ã‚’å†èµ·å‹•ã—ã¾ã™ã€‚"
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
#, fuzzy
msgid "Unpause instance"
msgstr "Reboot instance: インスタンス %r ã‚’å†èµ·å‹•ã—ã¾ã™ã€‚"
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
#, fuzzy
msgid "Suspend instance"
msgstr "Reboot instance: インスタンス %r ã‚’å†èµ·å‹•ã—ã¾ã™ã€‚"
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
#, fuzzy
msgid "Resume instance"
msgstr "Reboot instance: インスタンス %r ã‚’å†èµ·å‹•ã—ã¾ã™ã€‚"
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
#, fuzzy
msgid "Power off instance"
msgstr "%s 個ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®èµ·å‹•ã‚’始ã‚ã¾ã™â€¦"
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
#, fuzzy
msgid "Power on instance"
msgstr "%s 個ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®èµ·å‹•ã‚’始ã‚ã¾ã™â€¦"
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8602,29 +8811,29 @@ msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8636,53 +8845,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, fuzzy, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr "ボリューム切断: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, fuzzy, python-format
msgid "Attach volume failed: %s"
msgstr "Detach volume: ボリューム %s をデタッãƒã—ã¾ã™"
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr "インスタンス %s ã«ãƒœãƒªãƒ¥ãƒ¼ãƒ ã‚’接続(attach)ã§ãã¾ã›ã‚“。"
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, fuzzy, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr "ボリューム切断: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, fuzzy, python-format
msgid "Detaching physical disk from instance: %s"
msgstr "raw instanceを生æˆã—ã¾ã™ã€‚"
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8712,242 +8921,238 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "libvirt %s ã¸æŽ¥ç¶šã—ã¾ã™ã€‚"
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "ボリュームグループ%sãŒå­˜åœ¨ã—ã¾ã›ã‚“。"
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr "libvirtã¸ã®æŽ¥ç¶šãŒåˆ‡ã‚Œã¦ã„ã¾ã™ã€‚"
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "libvirt %s ã¸æŽ¥ç¶šã—ã¾ã™ã€‚"
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
#, fuzzy
msgid "Going to destroy instance again."
msgstr "%s ã‚’åœæ­¢ã—よã†ã¨ã—ã¦ã„ã¾ã™"
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "インスタンス%s: å†èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "データ: %(data)r, ファイルパス: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, fuzzy, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr "ID %(image_id)s ã¨ã—㦠%(vdi_uuids)s ã®ã‚¢ãƒƒãƒ—ロードã®ç‚ºã« xapi ã‚’å•ã„åˆã‚ã›ã—ã¦ã„ã¾ã™"
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, fuzzy, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr "インスタンス %(inst_name)s: イメージ %(img_id)s ã¸ã®ãƒ‡ãƒ¼ã‚¿åŸ‹ã‚è¾¼ã¿ã®ã‚¨ãƒ©ãƒ¼ã‚’無視ã—ã¦ã„ã¾ã™ (%(e)s)"
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8955,75 +9160,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "ip %s ã«å¯¾ã™ã‚‹ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -9031,50 +9252,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9084,69 +9305,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
-#, fuzzy, python-format
-msgid "Live Migration failure: %(e)s"
-msgstr "%s ã®èªè¨¼ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
+#: nova/virt/libvirt/driver.py:3353
+#, python-format
+msgid "Live Migration failure: %s"
+msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9165,15 +9391,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9327,22 +9553,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9350,61 +9576,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9412,7 +9639,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9420,7 +9647,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9428,7 +9655,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9589,12 +9816,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9621,16 +9848,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9640,7 +9867,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9713,105 +9940,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, fuzzy, python-format
msgid "PowerVM image creation failed: %s"
msgstr "%s 用ã®ãƒ–リッジインタフェースを開始ã—ã¾ã™ã€‚"
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, fuzzy, python-format
msgid "Creating LPAR instance '%s'"
msgstr "raw instanceを生æˆã—ã¾ã™ã€‚"
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, fuzzy, python-format
msgid "LPAR instance '%s' creation failed"
msgstr "インスタンス %s ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã‚’生æˆã—ã¾ã™ã€‚"
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, fuzzy, python-format
msgid "Activating the LPAR instance '%s'"
msgstr "raw instanceを生æˆã—ã¾ã™ã€‚"
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, fuzzy, python-format
msgid "Instance '%s' failed to boot"
msgstr "インスタンス%s: å†èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, fuzzy, python-format
msgid "Stopping instance %s for snapshot."
msgstr "snapshotting: インスタンス %s ã®ã‚¹ãƒŠãƒƒãƒ—ショットをå–得中"
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, fuzzy, python-format
msgid "Shutting down the instance '%s'"
msgstr "%s 個ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®èµ·å‹•ã‚’始ã‚ã¾ã™â€¦"
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, fuzzy, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr "%s 個ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®èµ·å‹•ã‚’始ã‚ã¾ã™â€¦"
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9821,39 +10052,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr "%(text)s: _db_content => %(content)s"
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -10067,12 +10298,12 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
#, fuzzy
msgid "Destroying the VM"
msgstr "xvp ã‚’å†èµ·å‹•ã—ã¦ã„ã¾ã™"
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
#, fuzzy
msgid "Destroyed the VM"
msgstr "ãƒã‚¹ãƒˆã—ãŸæˆ»ã‚Šå€¤: %s"
@@ -10180,101 +10411,106 @@ msgstr "%s 個ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®èµ·å‹•ã‚’始ã‚ã¾ã™â€¦"
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Deleting user: ユーザ %s を削除ã—ã¾ã™ã€‚"
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
#, fuzzy
msgid "instance not present"
msgstr "インスタンス %s: rescued"
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Deleting user: ユーザ %s を削除ã—ã¾ã™ã€‚"
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "ボリューム %s ã®å­˜åœ¨ãŒç¢ºèªã§ãã¾ã›ã‚“。"
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10319,7 +10555,7 @@ msgstr "SR %s ã‚’å†ã‚¹ã‚­ãƒ£ãƒ³ã—ã¾ã™ã€‚"
msgid "Rescanned HBA %s "
msgstr "SR %s ã‚’å†ã‚¹ã‚­ãƒ£ãƒ³ã—ã¾ã™ã€‚"
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr "マウントãƒã‚¤ãƒ³ãƒˆã‚’変æ›ã§ãã¾ã›ã‚“。 %s"
@@ -10397,106 +10633,87 @@ msgstr "ボリューム %s を切断(detach)ã§ãã¾ã›ã‚“"
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr "インスタンス %(instance_name)s ã‹ã‚‰ãƒžã‚¦ãƒ³ãƒˆãƒã‚¤ãƒ³ãƒˆ %(mountpoint)s を切断(detach)ã—ã¾ã—ãŸ"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "getter %s をコールã—ã¾ã™ã€‚"
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, fuzzy, python-format
msgid "Injecting file path: %r"
msgstr "ファイルパス '%s' を埋ã‚込んã§ã„ã¾ã™"
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr "OpenSSL エラー: %s"
@@ -10515,54 +10732,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, fuzzy, python-format
msgid "Could not determine key: %s"
msgstr "プライベートキーã®å¾©å·ã«å¤±æ•—ã—ã¾ã—ãŸ: %s"
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr "例外 %s ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr "NotImplemented 例外を発生ã•ã›ã¾ã™ã€‚"
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr "xenapi.fake ã«ã¯ %s ãŒå®Ÿè£…ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr "getter %s をコールã—ã¾ã™ã€‚"
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "getter %s をコールã—ã¾ã™ã€‚"
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10825,230 +11042,230 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, fuzzy, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr "イメージ %(image_location)s ㌠ID %(image_id)s ã§ç™»éŒ²ã•ã‚Œã¾ã—ãŸ"
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, fuzzy, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr "イメージ %(image)s ã®ã‚µã‚¤ã‚º:%(virtual_size)d"
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr "ドメイン0 上㮠/boot/guest 㫠VDI %s をコピー中"
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "カーãƒãƒ«/RAMディスク VDI %s ãŒå‰Šé™¤ã•ã‚Œã¾ã—ãŸ"
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "PV kernelã®vdi %s ã‚’å–å¾—ã—ã¾ã™ã€‚"
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr "VDI %s ã¯ä¾ç„¶ã¨ã—ã¦å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr "SR %s ã‚’å†ã‚¹ã‚­ãƒ£ãƒ³ã—ã¾ã™ã€‚"
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, fuzzy, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr "VHD %(vdi_uuid)s ã®è¦ªã¯ %(parent_ref)s ã§ã™"
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr "親 %(parent_uuid)s ãŒå…ƒã€…ã®è¦ª %(original_parent_uuid)s ã¨ä¸€è‡´ã—ã¾ã›ã‚“。作æˆã‚’å¾…æ©Ÿã—ã¦ã„ã¾ã™â€¦"
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr "VBD %s を接続ã—ã¦ã„ã¾ã™â€¦ "
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr "仮想ブロックデãƒã‚¤ã‚¹(VBD) %s ã®æŽ¥ç¶šãŒå®Œäº†ã—ã¾ã—ãŸã€‚"
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "VDI %s 用ã®ä»®æƒ³ãƒ–ロックデãƒã‚¤ã‚¹(VBD)を削除ã—ã¦ã„ã¾ã™â€¦ "
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr "VDI %s 用ã®ä»®æƒ³ãƒ–ロックデãƒã‚¤ã‚¹(VBD)ã®å‰Šé™¤ãŒå®Œäº†ã—ã¾ã—ãŸã€‚"
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr "%s ã«å¯¾ã—㦠pygrub を実行ã—ã¦ã„ã¾ã™"
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr "Xen Kernel %s ãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸã€‚"
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
"No Xen kernel found. Booting HVM.\r\n"
"Xen 用カーãƒãƒ«ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。完全仮想化モード(HVM)ã§èµ·å‹•ã—ã¦ã„ã¾ã™ã€‚"
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -11056,58 +11273,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr "パーティションテーブル %s ã®æ›¸ãè¾¼ã¿ãŒå®Œäº†ã—ã¾ã—ãŸã€‚"
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11381,11 +11598,16 @@ msgstr "SR %s ã®VDIã‚’introduceã§ãã¾ã›ã‚“。"
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11419,32 +11641,32 @@ msgstr "NotFound 発生: %s"
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11462,212 +11684,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr "アクション(action): %s"
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr "Get console output: インスタンス %s ã®ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã‚’å–å¾—ã—ã¾ã™ã€‚"
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr "インスタンス %s ã¯å®Ÿè¡Œä¸­ã§ã™ã€‚"
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr "ファイルパス '%s' を埋ã‚込んã§ã„ã¾ã™"
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr "インスタンス %s: èµ·å‹•ã—ã¾ã—ãŸã€‚"
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
-#~ msgstr ""
-
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr "ip %s ã«å¯¾ã™ã‚‹ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr "%(localname)s %(impl)s を呼ã³å‡ºã—ã¾ã™ã€‚"
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr "ボリューム %s を切断(detach)ã§ãã¾ã›ã‚“"
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr "ID %(image_id)s ã¨ã—㦠%(vdi_uuids)s ã®ã‚¢ãƒƒãƒ—ロードã®ç‚ºã« xapi ã‚’å•ã„åˆã‚ã›ã—ã¦ã„ã¾ã™"
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr "VM %(vm_ref)s, network %(network_ref)s 用仮想インターフェース(VIF)を作æˆã—ã¦ã„ã¾ã™ã€‚"
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ›ã‚¹ãƒˆã®è¨­å®šã‚’ã—ã¾ã™ã€‚"
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr "%s ã‚’ introduce ã—ã¾ã™â€¦"
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
-#~ msgstr "ボリューム切断: %(instance_name)s, %(mountpoint)s"
-
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/ka_GE/LC_MESSAGES/nova.po b/nova/locale/ka_GE/LC_MESSAGES/nova.po
index 334143a6c..f70a66068 100644
--- a/nova/locale/ka_GE/LC_MESSAGES/nova.po
+++ b/nova/locale/ka_GE/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Georgian (Georgia) "
@@ -80,298 +80,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1715,261 +1746,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2139,89 +2165,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2269,6 +2313,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2315,21 +2360,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2337,6 +2385,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2361,6 +2411,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2374,14 +2425,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2398,6 +2449,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2414,273 +2466,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2721,6 +2777,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2760,6 +2817,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2852,36 +2910,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2921,32 +2988,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2957,40 +3024,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3024,7 +3098,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3072,7 +3146,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3263,30 +3337,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3298,7 +3378,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3315,16 +3395,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3348,7 +3428,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3407,12 +3487,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3431,152 +3516,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3588,7 +3686,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3621,35 +3719,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3670,312 +3817,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3989,244 +4136,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4290,12 +4437,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4316,653 +4463,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5062,11 +5233,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5082,15 +5253,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5169,7 +5359,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5191,44 +5381,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5259,43 +5449,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5324,47 +5514,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5570,42 +5760,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5725,13 +5915,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5766,151 +5956,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5931,12 +6122,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6139,11 +6330,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6193,11 +6394,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6622,86 +6818,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6736,35 +6929,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6788,7 +6981,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6806,10 +6999,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6857,13 +7063,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7048,59 +7259,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7220,19 +7433,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7242,25 +7455,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7269,7 +7482,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7291,20 +7504,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7323,37 +7536,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7401,85 +7614,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7564,24 +7777,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7591,7 +7804,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7605,22 +7818,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7733,12 +7942,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7991,12 +8200,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8025,23 +8234,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8054,7 +8263,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8073,19 +8282,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8174,17 +8383,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8203,11 +8412,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8231,45 +8440,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8288,12 +8497,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8313,41 +8522,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8373,98 +8582,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8498,29 +8707,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8532,53 +8741,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8608,240 +8817,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8849,75 +9054,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8925,50 +9146,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8978,69 +9199,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9059,15 +9285,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9221,22 +9447,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9244,61 +9470,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9306,7 +9533,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9314,7 +9541,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9322,7 +9549,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9482,12 +9709,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9514,16 +9741,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9533,7 +9760,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9606,105 +9833,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9714,39 +9945,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9958,11 +10189,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10067,100 +10298,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10205,7 +10441,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10281,106 +10517,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10396,54 +10613,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10703,228 +10920,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10932,58 +11149,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11249,11 +11466,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11287,32 +11509,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11330,212 +11552,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/ko/LC_MESSAGES/nova.po b/nova/locale/ko/LC_MESSAGES/nova.po
index d26b731cf..0ffa0377a 100644
--- a/nova/locale/ko/LC_MESSAGES/nova.po
+++ b/nova/locale/ko/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2011-12-16 04:42+0000\n"
"Last-Translator: Zhongyue Luo <lzyeval@gmail.com>\n"
"Language-Team: Korean <ko@li.org>\n"
@@ -79,299 +79,299 @@ msgstr ""
msgid "Flags path: %s"
msgstr "플래그 경로: %s"
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, fuzzy, python-format
msgid "Image %(image_id)s is not active."
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/exception.py:327
+#: nova/exception.py:329
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
#, fuzzy
msgid "Failed to deploy instance"
msgstr "%s 볼륨 íƒˆì°©ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "%(instance_name)s ì¸ìŠ¤í„´ìŠ¤ì— %(mountpoint)s 마운트지ì ì´ 장착ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, fuzzy, python-format
msgid "Unable to find cert_file : %s"
msgstr "%s ë³¼ë¥¨ì„ ì°¾ì„수 없습니다"
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, fuzzy, python-format
msgid "Unable to find ca_file : %s"
msgstr "%s ë³¼ë¥¨ì„ ì°¾ì„수 없습니다"
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, fuzzy, python-format
msgid "Unable to find key_file : %s"
msgstr "%s ë³¼ë¥¨ì„ ì°¾ì„수 없습니다"
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1715,261 +1746,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2139,89 +2165,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2269,6 +2313,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2315,21 +2360,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2337,6 +2385,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2361,6 +2411,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2374,14 +2425,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2398,6 +2449,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2414,274 +2466,278 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
#, fuzzy
msgid "Image that the instance was started with could not be found."
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2722,6 +2778,7 @@ msgstr "Compute.api::reset_network %s"
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2761,6 +2818,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2854,36 +2912,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, fuzzy, python-format
msgid "Cell %(id)s not found."
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2925,32 +2992,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2961,40 +3028,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3029,7 +3103,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3077,7 +3151,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3268,30 +3342,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3303,7 +3383,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3320,16 +3400,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3353,7 +3433,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3412,12 +3492,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3436,153 +3521,166 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "%(instance_name)s ì¸ìŠ¤í„´ìŠ¤ì— %(mountpoint)s 마운트지ì ì´ 장착ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
#, fuzzy
msgid "Got update to delete instance"
msgstr "%(instance_name)s ì¸ìŠ¤í„´ìŠ¤ì— %(mountpoint)s 마운트지ì ì´ 장착ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3594,7 +3692,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3627,35 +3725,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr "%s ë³¼ë¥¨ì„ ì°¾ì„수 없습니다"
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3676,313 +3823,313 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3996,245 +4143,245 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "%s ë³¼ë¥¨ì„ ì°¾ì„수 없습니다"
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "%s ë³¼ë¥¨ì„ ì°¾ì„수 없습니다"
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4298,12 +4445,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4324,661 +4471,685 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
#, fuzzy
msgid "Failed to resume instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
#, fuzzy
msgid "Rebuilding instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "%s 볼륨 íƒˆì°©ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
#, fuzzy
msgid "Rebooting instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
#, fuzzy
msgid "instance snapshotting"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
#, fuzzy
msgid "Instance has no source host"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, fuzzy, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr "볼륨 탈착: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "볼륨 탈착: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5078,11 +5249,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5098,15 +5269,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5185,7 +5375,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5207,44 +5397,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5275,43 +5465,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5340,47 +5530,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5586,42 +5776,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5741,13 +5931,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5782,151 +5972,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5947,12 +6138,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6155,11 +6346,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6209,11 +6410,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6638,86 +6834,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, fuzzy, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr "%(instance_name)s ì¸ìŠ¤í„´ìŠ¤ì— %(mountpoint)s 마운트지ì ì´ 장착ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6752,35 +6945,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6804,7 +6997,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6822,10 +7015,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6873,13 +7079,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7064,59 +7275,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7236,19 +7449,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7258,25 +7471,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7285,7 +7498,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7307,20 +7520,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7339,37 +7552,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7422,85 +7635,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, fuzzy, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, fuzzy, python-format
msgid "PXE deploy started for instance %s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7585,24 +7798,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7612,7 +7825,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7626,22 +7839,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, fuzzy, python-format
msgid "Baremetal interface %s not found"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7754,12 +7963,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -8013,12 +8222,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, fuzzy, python-format
msgid "Failed to mount image %(ex)s)"
msgstr "%s ë³¼ë¥¨ì„ ì°¾ì„수 없습니다"
@@ -8047,23 +8256,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8076,7 +8285,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8095,19 +8304,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8196,17 +8405,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8225,11 +8434,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8253,45 +8462,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, fuzzy, python-format
msgid "Getting info for disk: %s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8310,12 +8519,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8335,41 +8544,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8395,107 +8604,107 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
#, fuzzy
msgid "Spawning new instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
#, fuzzy
msgid "Spawn instance failed"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, fuzzy, python-format
msgid "Creating nic for instance: %s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, fuzzy, python-format
msgid "Using config drive for instance: %s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, fuzzy, python-format
msgid "Got request to destroy instance: %s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, fuzzy, python-format
msgid "Instance not found: %s"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, fuzzy, python-format
msgid "Failed to destroy instance: %s"
msgstr "%s 볼륨 íƒˆì°©ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
#, fuzzy
msgid "reboot instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
#, fuzzy
msgid "Pause instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
#, fuzzy
msgid "Unpause instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
#, fuzzy
msgid "Suspend instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
#, fuzzy
msgid "Resume instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
#, fuzzy
msgid "Power off instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
#, fuzzy
msgid "Power on instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8529,29 +8738,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8563,53 +8772,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, fuzzy, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr "볼륨 탈착: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, fuzzy, python-format
msgid "Attach volume failed: %s"
msgstr "%s 볼륨 íƒˆì°©ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, fuzzy, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr "볼륨 탈착: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, fuzzy, python-format
msgid "Detaching physical disk from instance: %s"
msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8639,240 +8848,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8880,75 +9085,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "%s 볼륨 íƒˆì°©ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8956,50 +9177,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9009,69 +9230,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping %s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3609
+#, python-format
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9090,15 +9316,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9252,22 +9478,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9275,61 +9501,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9337,7 +9564,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9345,7 +9572,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9353,7 +9580,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9514,12 +9741,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9546,16 +9773,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9565,7 +9792,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9638,105 +9865,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, fuzzy, python-format
msgid "Creating LPAR instance '%s'"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, fuzzy, python-format
msgid "Activating the LPAR instance '%s'"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s를 재부팅합니다"
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, fuzzy, python-format
msgid "Stopping instance %s for snapshot."
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9746,39 +9977,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9990,11 +10221,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10099,100 +10330,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "%s ë³¼ë¥¨ì„ ì°¾ì„수 없습니다"
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10237,7 +10473,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10315,106 +10551,87 @@ msgstr "%s 볼륨 íƒˆì°©ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr "%(instance_name)s ì¸ìŠ¤í„´ìŠ¤ì— %(mountpoint)s 마운트지ì ì´ 탈착ë˜ì—ˆìŠµë‹ˆë‹¤"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10430,54 +10647,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10737,228 +10954,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10966,58 +11183,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11285,11 +11502,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11323,32 +11545,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11366,212 +11588,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr "%s ì¸ìŠ¤í„´ìŠ¤ì— 볼륨장착 í•  수 없습니다"
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr "ì¸ìŠ¤í„´ìŠ¤ %s: 스냅샷 저장중"
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
-#~ msgstr ""
-
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr "%s 볼륨 íƒˆì°©ì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
-#~ msgstr "볼륨 탈착: %(instance_name)s, %(mountpoint)s"
-
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/ko_KR/LC_MESSAGES/nova.po b/nova/locale/ko_KR/LC_MESSAGES/nova.po
index daa68fc76..af71ba4f0 100644
--- a/nova/locale/ko_KR/LC_MESSAGES/nova.po
+++ b/nova/locale/ko_KR/LC_MESSAGES/nova.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-05-06 16:05+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: en_US <LL@li.org>\n"
@@ -80,298 +80,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr "ê°€ìƒ ì¸í„°íŽ˜ì´ìŠ¤ ìƒì„± 실패"
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr "ì¸ì¦ë˜ì§€ ì•ŠìŒ."
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr "Keypair ë°ì´í„°ê°€ 맞지 않습니다"
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr "ê·¸ ìš”ì²­ì€ ë§žì§€ 않습니다."
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr "ìž…ë ¥ ê°’ì´ ì •í™•í•˜ì§€ 않습니다."
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr "%(err)s"
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ ìž ìžê¸° 실패"
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ 재시작 실패"
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr "CPU 정보를 ë°›ì„수 없습니다."
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr "%(address)s는 v4/6ì£¼ì†Œì— ë§žì§€ ì•Šì€ IP입니다."
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr "Disk format %(disk_format)s를 알 수 없습니다."
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1715,261 +1746,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr "vol = %s\n"
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr "주소 할당"
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr "주소 릴리즈 %s"
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2139,89 +2165,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2269,6 +2313,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2315,21 +2360,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2337,6 +2385,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2361,6 +2411,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2374,14 +2425,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2398,6 +2449,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2414,274 +2466,278 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
#, fuzzy
msgid "Invalid instance image."
msgstr "ìž…ë ¥ ê°’ì´ ì •í™•í•˜ì§€ 않습니다."
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2722,6 +2778,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2761,6 +2818,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2853,36 +2911,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2922,32 +2989,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2958,40 +3025,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3025,7 +3099,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3073,7 +3147,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3264,30 +3338,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3299,7 +3379,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3316,16 +3396,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3349,7 +3429,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3408,12 +3488,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, fuzzy, python-format
msgid "Reserving IP address %s"
msgstr "주소 릴리즈 %s"
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, fuzzy, python-format
msgid "Unreserving IP address %s"
msgstr "주소 릴리즈 %s"
@@ -3432,153 +3517,166 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
#, fuzzy
msgid "Got update to delete instance"
msgstr "ì¸ìŠ¤í„´ìŠ¤ 재시작 실패"
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3590,7 +3688,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3623,35 +3721,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3672,312 +3819,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3991,244 +4138,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4292,12 +4439,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4318,653 +4465,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5064,11 +5235,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5084,15 +5255,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5171,7 +5361,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5193,44 +5383,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5261,43 +5451,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5326,47 +5516,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5572,42 +5762,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5727,13 +5917,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5768,151 +5958,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5933,12 +6124,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6141,11 +6332,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6195,11 +6396,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6624,86 +6820,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6738,35 +6931,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6790,7 +6983,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6808,10 +7001,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6859,13 +7065,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7050,59 +7261,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7222,19 +7435,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7244,25 +7457,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7271,7 +7484,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7293,20 +7506,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7325,37 +7538,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7403,85 +7616,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7566,24 +7779,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7593,7 +7806,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7607,22 +7820,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7735,12 +7944,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7993,12 +8202,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8027,23 +8236,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8056,7 +8265,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8075,19 +8284,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8176,17 +8385,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8205,11 +8414,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8233,45 +8442,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8290,12 +8499,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8315,41 +8524,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8375,98 +8584,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8500,29 +8709,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8534,53 +8743,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8610,240 +8819,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8851,75 +9056,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8927,50 +9148,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8980,69 +9201,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9061,15 +9287,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9223,22 +9449,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9246,61 +9472,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9308,7 +9535,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9316,7 +9543,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9324,7 +9551,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9484,12 +9711,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9516,16 +9743,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9535,7 +9762,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9608,105 +9835,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9716,39 +9947,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9960,11 +10191,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10069,100 +10300,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10207,7 +10443,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10283,106 +10519,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10398,54 +10615,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10705,228 +10922,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10934,58 +11151,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11252,11 +11469,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11290,32 +11512,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11333,212 +11555,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/ms/LC_MESSAGES/nova.po b/nova/locale/ms/LC_MESSAGES/nova.po
index 9b51aef4c..1416d7649 100644
--- a/nova/locale/ms/LC_MESSAGES/nova.po
+++ b/nova/locale/ms/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Malay "
@@ -80,298 +80,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1715,261 +1746,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2139,89 +2165,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2269,6 +2313,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2315,21 +2360,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2337,6 +2385,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2361,6 +2411,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2374,14 +2425,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2398,6 +2449,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2414,273 +2466,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2721,6 +2777,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2760,6 +2817,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2852,36 +2910,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2921,32 +2988,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2957,40 +3024,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3024,7 +3098,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3072,7 +3146,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3263,30 +3337,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3298,7 +3378,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3315,16 +3395,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3348,7 +3428,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3407,12 +3487,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3431,152 +3516,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3588,7 +3686,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3621,35 +3719,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3670,312 +3817,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3989,244 +4136,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4290,12 +4437,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4316,653 +4463,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5062,11 +5233,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5082,15 +5253,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5169,7 +5359,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5191,44 +5381,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5259,43 +5449,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5324,47 +5514,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5570,42 +5760,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5725,13 +5915,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5766,151 +5956,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5931,12 +6122,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6139,11 +6330,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6193,11 +6394,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6622,86 +6818,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6736,35 +6929,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6788,7 +6981,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6806,10 +6999,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6857,13 +7063,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7048,59 +7259,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7220,19 +7433,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7242,25 +7455,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7269,7 +7482,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7291,20 +7504,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7323,37 +7536,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7401,85 +7614,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7564,24 +7777,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7591,7 +7804,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7605,22 +7818,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7733,12 +7942,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7991,12 +8200,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8025,23 +8234,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8054,7 +8263,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8073,19 +8282,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8174,17 +8383,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8203,11 +8412,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8231,45 +8440,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8288,12 +8497,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8313,41 +8522,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8373,98 +8582,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8498,29 +8707,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8532,53 +8741,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8608,240 +8817,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8849,75 +9054,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8925,50 +9146,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8978,69 +9199,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9059,15 +9285,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9221,22 +9447,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9244,61 +9470,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9306,7 +9533,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9314,7 +9541,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9322,7 +9549,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9482,12 +9709,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9514,16 +9741,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9533,7 +9760,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9606,105 +9833,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9714,39 +9945,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9958,11 +10189,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10067,100 +10298,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10205,7 +10441,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10281,106 +10517,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10396,54 +10613,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10703,228 +10920,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10932,58 +11149,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11249,11 +11466,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11287,32 +11509,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11330,212 +11552,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/nb/LC_MESSAGES/nova.po b/nova/locale/nb/LC_MESSAGES/nova.po
index c39808d22..2605c06c2 100644
--- a/nova/locale/nb/LC_MESSAGES/nova.po
+++ b/nova/locale/nb/LC_MESSAGES/nova.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2012-09-13 10:30+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: nb <LL@li.org>\n"
@@ -81,298 +81,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr "En ukjent feil oppsto."
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, fuzzy, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr "Kunne ikke dekryptere teksten"
-#: nova/exception.py:167
+#: nova/exception.py:169
#, fuzzy, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr "Kunne ikke dekryptere teksten"
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr "Ikke autorisert."
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr "Bruker har ikke admin-rettigheter"
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr "Forespørselen er ugyldig."
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "Ugyldig IP protokoll %(protocol)s."
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr "%(address)s er ikke en gyldig IP v4/6 addresse."
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -380,85 +380,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr "Ressurs ble ikke funnet."
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -466,896 +466,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr "Prosjekt %(project_id)s ble ikke funnet."
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, fuzzy, python-format
msgid "Network %(network_id)s is duplicated."
msgstr "Nettverk %(network_id)s ble ikke funnet."
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr "Nettverk %(network_id)s ble ikke funnet."
-#: nova/exception.py:521
+#: nova/exception.py:523
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "Prosjekt %(project_id)s ble ikke funnet."
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr "Ingen nettverk definert."
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr "Tjeneste %(service_id)s ble ikke funnet."
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr "Handlingen er ikke tillatt."
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, fuzzy, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr "Nøkkelpar '%s' finnes allerede."
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr "Kvote overskredet"
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "Tjeneste %(service_id)s ble ikke funnet."
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "Prosjekt %(project_id)s ble ikke funnet."
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, fuzzy, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr "Prosjekt %(project_id)s ble ikke funnet."
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, fuzzy, python-format
msgid "Marker %(marker)s could not be found."
msgstr "Tjeneste %(service_id)s ble ikke funnet."
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, fuzzy, python-format
msgid "Unsupported object type %(objtype)s"
msgstr "Forventet objekt av typen: %s"
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1370,15 +1391,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1400,17 +1421,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1443,120 +1464,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr "Forventet objekt av typen: %s"
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, fuzzy, python-format
msgid "%s is not a string or unicode"
msgstr "Tjenernavn er ikke en streng eller unicode"
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, fuzzy, python-format
msgid "Unable to find cert_file : %s"
msgstr "Kan ikke finne adressen %r"
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, fuzzy, python-format
msgid "Unable to find ca_file : %s"
msgstr "Kan ikke finne adressen %r"
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, fuzzy, python-format
msgid "Unable to find key_file : %s"
msgstr "Kan ikke finne adressen %r"
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr "Stoppet WSGI tjener."
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr "WSGI tjener har stoppet."
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr "Du må implementere __call__"
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1570,7 +1601,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1716,261 +1747,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr "Lag nøkkelpar %s"
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr "Importer nøkkel %s"
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr "Slett nøkkelpar %s"
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "Ugyldig IP protokoll %(protocol)s."
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr "Ingen regel for de angitte parametrene."
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr "Tildel adresse"
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr "Frigjør adresse %s"
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr "bruker eller gruppe ikke spesifisert"
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr "kun gruppe \"all\" er støttet"
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2141,89 +2167,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr "Laster utvidelse %s"
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr "Kunne ikke laste utvidelse %(ext_factory)s: %(exc)s"
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr "Kunne ikke laste utvidelse %(classpath)s: %(exc)s"
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, fuzzy, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr "Kunne ikke laste utvidelse %(ext_name)s: %(exc)s"
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2271,6 +2315,7 @@ msgstr "Ingen slik handling: %s"
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2317,21 +2362,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2339,6 +2387,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2363,6 +2413,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2376,14 +2427,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2400,6 +2451,7 @@ msgstr "Metadata element ble ikke funnet"
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2416,276 +2468,280 @@ msgid "Flavor '%s' could not be found "
msgstr "Tjeneste %(service_id)s ble ikke funnet."
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr "Feil nettverks-format: mangler %s"
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr "Feil nettverks-format"
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr "Tjenernavn er ikke definert"
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
#, fuzzy
msgid "Flavor used by the instance could not be found."
msgstr "Ressurs ble ikke funnet."
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
#, fuzzy
msgid "Image that the instance was started with could not be found."
msgstr "Ressurs ble ikke funnet."
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
#, fuzzy
msgid "Invalid instance image."
msgstr "Ugyldig snapshot"
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2726,6 +2782,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr "Tjener ikke funnet"
@@ -2765,6 +2822,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2857,36 +2915,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, fuzzy, python-format
msgid "Cell %(id)s not found."
msgstr "Nettverk ikke funnet"
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2926,33 +2993,33 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
#, fuzzy
msgid "Invalid path"
msgstr "Ugyldig snapshot"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, fuzzy, python-format
msgid "Directory conflict: %s already exists"
msgstr "Nøkkelpar '%s' finnes allerede."
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2963,40 +3030,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "Metadata element ble ikke funnet"
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3031,7 +3105,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3079,7 +3153,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3272,30 +3346,36 @@ msgid "Create networks failed"
msgstr "Ingen nettverk definert."
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3307,7 +3387,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr "Ikke nok parametere for å lage en gyldig regel."
@@ -3325,16 +3405,16 @@ msgstr "Viser nettverk med id %s"
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, fuzzy, python-format
msgid "Bad prefix for network in cidr %s"
msgstr "Sletter nettverk med id %s"
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3358,7 +3438,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3417,12 +3497,17 @@ msgstr "Laster utvidelse %s"
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, fuzzy, python-format
msgid "Reserving IP address %s"
msgstr "Frigjør adresse %s"
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, fuzzy, python-format
msgid "Unreserving IP address %s"
msgstr "Frigjør adresse %s"
@@ -3441,152 +3526,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, fuzzy, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr "Kunne ikke laste utvidelse %(ext_factory)s: %(exc)s"
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Tjeneste %(service_id)s ble ikke funnet."
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3598,7 +3696,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3631,35 +3729,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr "Kan ikke finne adressen %r"
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3680,314 +3827,314 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "Tildel adresse"
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "Nettverk ikke funnet"
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr "Tjeneste %(service_id)s ble ikke funnet."
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr "Tjeneste %(service_id)s ble ikke funnet."
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -4001,244 +4148,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4302,12 +4449,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4328,653 +4475,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Kunne ikke hente metadata for ip:% s"
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5074,11 +5245,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5094,15 +5265,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5181,7 +5371,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5203,44 +5393,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5271,43 +5461,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5336,47 +5526,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5582,42 +5772,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5737,13 +5927,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5779,152 +5969,153 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
#, fuzzy
msgid "Port not found"
msgstr "Nettverk ikke funnet"
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5945,12 +6136,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6153,11 +6344,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6207,11 +6408,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6637,86 +6833,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6751,35 +6944,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6803,7 +6996,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6821,10 +7014,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6872,13 +7078,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7064,59 +7275,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7237,19 +7450,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7259,25 +7472,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7286,7 +7499,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7308,20 +7521,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7340,37 +7553,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7419,85 +7632,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7583,24 +7796,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7610,7 +7823,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7624,22 +7837,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, fuzzy, python-format
msgid "Baremetal interface %s not found"
msgstr "Metadata element ble ikke funnet"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7752,12 +7961,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -8010,12 +8219,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, fuzzy, python-format
msgid "Failed to mount image %(ex)s)"
msgstr "Kan ikke finne adressen %r"
@@ -8044,23 +8253,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8073,7 +8282,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8092,19 +8301,19 @@ msgstr "Frigjør adresse %s"
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8193,17 +8402,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8222,11 +8431,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8250,45 +8459,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8307,12 +8516,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8332,41 +8541,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8392,98 +8601,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8517,29 +8726,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8551,53 +8760,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8627,242 +8836,238 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Ingen nettverk definert."
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Ingen nettverk definert."
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8870,75 +9075,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8946,50 +9167,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8999,69 +9220,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9080,15 +9306,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9242,22 +9468,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9265,61 +9491,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, fuzzy, python-format
msgid "Unexpected vif_type=%s"
msgstr "Forventet objekt av typen: %s"
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9327,7 +9554,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9335,7 +9562,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9343,7 +9570,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9503,12 +9730,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9535,16 +9762,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9554,7 +9781,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9627,105 +9854,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9735,39 +9966,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9979,11 +10210,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10088,100 +10319,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10226,7 +10462,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10304,106 +10540,87 @@ msgstr "Kan ikke finne adressen %r"
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10419,54 +10636,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10727,228 +10944,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10956,58 +11173,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11274,11 +11491,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11312,32 +11534,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11355,212 +11577,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr "Nettverk ikke funnet"
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/nl_NL/LC_MESSAGES/nova.po b/nova/locale/nl_NL/LC_MESSAGES/nova.po
index 67a46ac1c..63835603d 100644
--- a/nova/locale/nl_NL/LC_MESSAGES/nova.po
+++ b/nova/locale/nl_NL/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Dutch (Netherlands) "
@@ -80,298 +80,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1715,261 +1746,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2139,89 +2165,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2269,6 +2313,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2315,21 +2360,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2337,6 +2385,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2361,6 +2411,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2374,14 +2425,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2398,6 +2449,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2414,273 +2466,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2721,6 +2777,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2760,6 +2817,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2852,36 +2910,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2921,32 +2988,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2957,40 +3024,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3024,7 +3098,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3072,7 +3146,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3263,30 +3337,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3298,7 +3378,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3315,16 +3395,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3348,7 +3428,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3407,12 +3487,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3431,152 +3516,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3588,7 +3686,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3621,35 +3719,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3670,312 +3817,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3989,244 +4136,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4290,12 +4437,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4316,653 +4463,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5062,11 +5233,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5082,15 +5253,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5169,7 +5359,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5191,44 +5381,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5259,43 +5449,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5324,47 +5514,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5570,42 +5760,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5725,13 +5915,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5766,151 +5956,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5931,12 +6122,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6139,11 +6330,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6193,11 +6394,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6622,86 +6818,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6736,35 +6929,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6788,7 +6981,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6806,10 +6999,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6857,13 +7063,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7048,59 +7259,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7220,19 +7433,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7242,25 +7455,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7269,7 +7482,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7291,20 +7504,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7323,37 +7536,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7401,85 +7614,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7564,24 +7777,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7591,7 +7804,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7605,22 +7818,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7733,12 +7942,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7991,12 +8200,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8025,23 +8234,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8054,7 +8263,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8073,19 +8282,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8174,17 +8383,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8203,11 +8412,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8231,45 +8440,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8288,12 +8497,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8313,41 +8522,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8373,98 +8582,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8498,29 +8707,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8532,53 +8741,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8608,240 +8817,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8849,75 +9054,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8925,50 +9146,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8978,69 +9199,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9059,15 +9285,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9221,22 +9447,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9244,61 +9470,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9306,7 +9533,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9314,7 +9541,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9322,7 +9549,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9482,12 +9709,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9514,16 +9741,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9533,7 +9760,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9606,105 +9833,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9714,39 +9945,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9958,11 +10189,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10067,100 +10298,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10205,7 +10441,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10281,106 +10517,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10396,54 +10613,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10703,228 +10920,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10932,58 +11149,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11249,11 +11466,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11287,32 +11509,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11330,212 +11552,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/nova.pot b/nova/locale/nova.pot
index c3ccd79a4..ee4e9e21d 100644
--- a/nova/locale/nova.pot
+++ b/nova/locale/nova.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: nova jenkins.nova.propose.translation.update.278\n"
+"Project-Id-Version: nova jenkins.nova.propose.translation.update.294\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -79,298 +79,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -378,85 +378,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -464,896 +464,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1368,15 +1389,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1398,17 +1419,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1441,120 +1462,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
+msgstr ""
+
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1568,7 +1599,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1714,261 +1745,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2138,89 +2164,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2268,6 +2312,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2314,21 +2359,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2336,6 +2384,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2360,6 +2410,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2373,14 +2424,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2397,6 +2448,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2413,273 +2465,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2720,6 +2776,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2759,6 +2816,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2851,36 +2909,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2920,32 +2987,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2956,40 +3023,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3023,7 +3097,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3071,7 +3145,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3262,30 +3336,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3297,7 +3377,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3314,16 +3394,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3347,7 +3427,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3406,12 +3486,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3430,152 +3515,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3587,7 +3685,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3620,35 +3718,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3669,312 +3816,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3988,244 +4135,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4289,12 +4436,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4315,653 +4462,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5061,11 +5232,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5081,15 +5252,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5168,7 +5358,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5190,44 +5380,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5258,43 +5448,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5323,47 +5513,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5569,42 +5759,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5724,13 +5914,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5765,151 +5955,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5930,12 +6121,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6138,11 +6329,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6192,11 +6393,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6621,86 +6817,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6735,35 +6928,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6787,7 +6980,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6805,10 +6998,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6856,13 +7062,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7047,59 +7258,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7219,19 +7432,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7241,25 +7454,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7268,7 +7481,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7290,20 +7503,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7322,37 +7535,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7400,85 +7613,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7563,24 +7776,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7590,7 +7803,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7604,22 +7817,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7732,12 +7941,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7990,12 +8199,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8024,23 +8233,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8053,7 +8262,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8072,19 +8281,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8173,17 +8382,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8202,11 +8411,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8230,45 +8439,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8287,12 +8496,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8312,41 +8521,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8372,98 +8581,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8497,29 +8706,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8531,53 +8740,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8607,240 +8816,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8848,75 +9053,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8924,50 +9145,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8977,69 +9198,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9058,15 +9284,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9220,22 +9446,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9243,61 +9469,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9305,7 +9532,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9313,7 +9540,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9321,7 +9548,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9481,12 +9708,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9513,16 +9740,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9532,7 +9759,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9605,105 +9832,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9713,39 +9944,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9957,11 +10188,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10066,100 +10297,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10204,7 +10440,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10280,106 +10516,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10395,54 +10612,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10702,228 +10919,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10931,58 +11148,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11248,11 +11465,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11286,32 +11508,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
diff --git a/nova/locale/pl_PL/LC_MESSAGES/nova.po b/nova/locale/pl_PL/LC_MESSAGES/nova.po
new file mode 100644
index 000000000..616af31ff
--- /dev/null
+++ b/nova/locale/pl_PL/LC_MESSAGES/nova.po
@@ -0,0 +1,11571 @@
+# Polish (Poland) translations for nova.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the nova project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Nova\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
+"PO-Revision-Date: 2013-06-28 18:59+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Polish (Poland) "
+"(http://www.transifex.com/projects/p/openstack/language/pl_PL/)\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
+"(n%100<10 || n%100>=20) ? 1 : 2)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
+#, python-format
+msgid "block_device_list %s"
+msgstr ""
+
+#: nova/context.py:63
+#, python-format
+msgid "Arguments dropped when creating context: %s"
+msgstr ""
+
+#: nova/context.py:108
+#, python-format
+msgid "read_deleted can only be one of 'no', 'yes' or 'only', not %r"
+msgstr ""
+
+#: nova/crypto.py:55
+msgid "Filename of root CA"
+msgstr ""
+
+#: nova/crypto.py:58
+msgid "Filename of private key"
+msgstr ""
+
+#: nova/crypto.py:61
+msgid "Filename of root Certificate Revocation List"
+msgstr ""
+
+#: nova/crypto.py:64
+msgid "Where we keep our keys"
+msgstr ""
+
+#: nova/crypto.py:67
+msgid "Where we keep our root CA"
+msgstr ""
+
+#: nova/crypto.py:70
+msgid "Should we use a CA for each project?"
+msgstr ""
+
+#: nova/crypto.py:74
+#, python-format
+msgid "Subject for certificate for users, %s for project, user, timestamp"
+msgstr ""
+
+#: nova/crypto.py:79
+#, python-format
+msgid "Subject for certificate for projects, %s for project, timestamp"
+msgstr ""
+
+#: nova/crypto.py:210
+msgid "Unable to find the key"
+msgstr ""
+
+#: nova/crypto.py:393
+msgid "Failed to write inbound.csr"
+msgstr ""
+
+#: nova/crypto.py:395
+#, python-format
+msgid "Flags path: %s"
+msgstr ""
+
+#: nova/exception.py:113
+msgid "An unknown exception occurred."
+msgstr ""
+
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
+msgid "Exception in string format operation"
+msgstr ""
+
+#: nova/exception.py:155
+msgid "Unknown"
+msgstr ""
+
+#: nova/exception.py:165
+#, python-format
+msgid "Failed to encrypt text: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:169
+#, python-format
+msgid "Failed to decrypt text: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:173
+msgid "Virtual Interface creation failed"
+msgstr ""
+
+#: nova/exception.py:177
+msgid "5 attempts to create virtual interfacewith unique mac address failed"
+msgstr ""
+
+#: nova/exception.py:182
+#, python-format
+msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:187
+msgid "Not authorized."
+msgstr ""
+
+#: nova/exception.py:192
+msgid "User does not have admin privileges"
+msgstr ""
+
+#: nova/exception.py:196
+#, python-format
+msgid "Policy doesn't allow %(action)s to be performed."
+msgstr ""
+
+#: nova/exception.py:200
+#, python-format
+msgid "Image %(image_id)s is not active."
+msgstr ""
+
+#: nova/exception.py:204
+#, python-format
+msgid "Not authorized for image %(image_id)s."
+msgstr ""
+
+#: nova/exception.py:208
+msgid "Unacceptable parameters."
+msgstr ""
+
+#: nova/exception.py:213
+msgid "Block Device Mapping is Invalid."
+msgstr ""
+
+#: nova/exception.py:217
+#, python-format
+msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
+msgstr ""
+
+#: nova/exception.py:222
+#, python-format
+msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
+msgstr ""
+
+#: nova/exception.py:227
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:233
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:238
+#, python-format
+msgid "Volume %(volume_id)s is not attached to anything"
+msgstr ""
+
+#: nova/exception.py:242
+#, python-format
+msgid ""
+"Volume %(volume_id)s did not finish being created even after we waited "
+"%(seconds)s seconds or %(attempts)s attempts."
+msgstr ""
+
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
+msgid "Keypair data is invalid"
+msgstr ""
+
+#: nova/exception.py:252
+msgid "The request is invalid."
+msgstr ""
+
+#: nova/exception.py:256
+msgid "Invalid input received"
+msgstr ""
+
+#: nova/exception.py:260
+msgid "Invalid volume"
+msgstr ""
+
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
+#: nova/api/openstack/compute/contrib/admin_actions.py:242
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
+msgid "Invalid metadata"
+msgstr ""
+
+#: nova/exception.py:268
+msgid "Invalid metadata size"
+msgstr ""
+
+#: nova/exception.py:272
+#, python-format
+msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
+msgstr ""
+
+#: nova/exception.py:276
+#, python-format
+msgid "Invalid IP protocol %(protocol)s."
+msgstr ""
+
+#: nova/exception.py:280
+#, python-format
+msgid "Invalid content type %(content_type)s."
+msgstr ""
+
+#: nova/exception.py:284
+#, python-format
+msgid "Invalid cidr %(cidr)s."
+msgstr ""
+
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
+msgid "Invalid Parameter: Unicode is not supported by the current database."
+msgstr ""
+
+#: nova/exception.py:295
+#, python-format
+msgid "%(err)s"
+msgstr ""
+
+#: nova/exception.py:299
+#, python-format
+msgid ""
+"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
+" %(reason)s."
+msgstr ""
+
+#: nova/exception.py:304
+#, python-format
+msgid "Group not valid. Reason: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
+msgid "Sort key supplied was not valid."
+msgstr ""
+
+#: nova/exception.py:312
+#, python-format
+msgid ""
+"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
+" the instance is in this state."
+msgstr ""
+
+#: nova/exception.py:317
+#, python-format
+msgid "Instance %(instance_id)s is not running."
+msgstr ""
+
+#: nova/exception.py:321
+#, python-format
+msgid "Instance %(instance_id)s is not in rescue mode"
+msgstr ""
+
+#: nova/exception.py:325
+#, python-format
+msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:329
+#, python-format
+msgid "Instance %(instance_id)s is not ready"
+msgstr ""
+
+#: nova/exception.py:333
+msgid "Failed to suspend instance"
+msgstr ""
+
+#: nova/exception.py:337
+#, python-format
+msgid "Failed to resume instance: %(reason)s."
+msgstr ""
+
+#: nova/exception.py:341
+#, python-format
+msgid "Failed to power on instance: %(reason)s."
+msgstr ""
+
+#: nova/exception.py:345
+#, python-format
+msgid "Failed to power off instance: %(reason)s."
+msgstr ""
+
+#: nova/exception.py:349
+msgid "Failed to reboot instance"
+msgstr ""
+
+#: nova/exception.py:353
+msgid "Failed to terminate instance"
+msgstr ""
+
+#: nova/exception.py:357
+msgid "Failed to deploy instance"
+msgstr ""
+
+#: nova/exception.py:361
+msgid "Service is unavailable at this time."
+msgstr ""
+
+#: nova/exception.py:365
+msgid "Insufficient compute resources."
+msgstr ""
+
+#: nova/exception.py:369
+#, python-format
+msgid "Compute service of %(host)s is unavailable at this time."
+msgstr ""
+
+#: nova/exception.py:373
+#, python-format
+msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
+msgstr ""
+
+#: nova/exception.py:378
+msgid "The supplied hypervisor type of is invalid."
+msgstr ""
+
+#: nova/exception.py:382
+msgid "The instance requires a newer hypervisor version than has been provided."
+msgstr ""
+
+#: nova/exception.py:387
+#, python-format
+msgid ""
+"The supplied disk path (%(path)s) already exists, it is expected not to "
+"exist."
+msgstr ""
+
+#: nova/exception.py:392
+#, python-format
+msgid "The supplied device path (%(path)s) is invalid."
+msgstr ""
+
+#: nova/exception.py:396
+#, python-format
+msgid "The supplied device path (%(path)s) is in use."
+msgstr ""
+
+#: nova/exception.py:401
+#, python-format
+msgid "The supplied device (%(device)s) is busy."
+msgstr ""
+
+#: nova/exception.py:405
+msgid "Unacceptable CPU info"
+msgstr ""
+
+#: nova/exception.py:409
+#, python-format
+msgid "%(address)s is not a valid IP v4/6 address."
+msgstr ""
+
+#: nova/exception.py:413
+#, python-format
+msgid ""
+"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
+"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
+msgstr ""
+
+#: nova/exception.py:419
+#, python-format
+msgid ""
+"vSwitch which contains the port group %(bridge)s is not associated with "
+"the desired physical adapter. Expected vSwitch is %(expected)s, but the "
+"one associated is %(actual)s."
+msgstr ""
+
+#: nova/exception.py:426
+#, python-format
+msgid "Disk format %(disk_format)s is not acceptable"
+msgstr ""
+
+#: nova/exception.py:430
+#, python-format
+msgid "Image %(image_id)s is unacceptable: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:434
+#, python-format
+msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:438
+#, python-format
+msgid "Ec2 id %(ec2_id)s is unacceptable."
+msgstr ""
+
+#: nova/exception.py:442
+#, python-format
+msgid "Expected a uuid but received %(uuid)s."
+msgstr ""
+
+#: nova/exception.py:446
+#, python-format
+msgid "Invalid ID received %(id)s."
+msgstr ""
+
+#: nova/exception.py:450
+msgid "Constraint not met."
+msgstr ""
+
+#: nova/exception.py:455
+msgid "Resource could not be found."
+msgstr ""
+
+#: nova/exception.py:460
+#, python-format
+msgid "No agent-build associated with id %(id)s."
+msgstr ""
+
+#: nova/exception.py:464
+#, python-format
+msgid "Volume %(volume_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:468
+#, python-format
+msgid "Snapshot %(snapshot_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:472
+#, python-format
+msgid "No target id found for volume %(volume_id)s."
+msgstr ""
+
+#: nova/exception.py:476
+#, python-format
+msgid "No disk at %(location)s"
+msgstr ""
+
+#: nova/exception.py:480
+#, python-format
+msgid "Could not find a handler for %(driver_type)s volume."
+msgstr ""
+
+#: nova/exception.py:484
+#, python-format
+msgid "Invalid image href %(image_href)s."
+msgstr ""
+
+#: nova/exception.py:488
+#, python-format
+msgid "Image %(image_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:492
+#, python-format
+msgid ""
+"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
+" dynamically when they are listed for the first time. Have you listed "
+"image ids since adding this image?"
+msgstr ""
+
+#: nova/exception.py:499
+#, python-format
+msgid "Project %(project_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:503
+msgid "Cannot find SR to read/write VDI."
+msgstr ""
+
+#: nova/exception.py:507
+#, python-format
+msgid "Network %(network_id)s is duplicated."
+msgstr ""
+
+#: nova/exception.py:511
+#, python-format
+msgid "Network %(network_id)s is still in use."
+msgstr ""
+
+#: nova/exception.py:515
+#, python-format
+msgid "%(req)s is required to create a network."
+msgstr ""
+
+#: nova/exception.py:519
+#, python-format
+msgid "Network %(network_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:523
+#, python-format
+msgid "Port id %(port_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:527
+#, python-format
+msgid "Network could not be found for bridge %(bridge)s"
+msgstr ""
+
+#: nova/exception.py:531
+#, python-format
+msgid "Network could not be found for uuid %(uuid)s"
+msgstr ""
+
+#: nova/exception.py:535
+#, python-format
+msgid "Network could not be found with cidr %(cidr)s."
+msgstr ""
+
+#: nova/exception.py:539
+#, python-format
+msgid "Network could not be found for instance %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:543
+msgid "No networks defined."
+msgstr ""
+
+#: nova/exception.py:547
+#, python-format
+msgid ""
+"Either Network uuid %(network_uuid)s is not present or is not assigned to"
+" the project %(project_id)s."
+msgstr ""
+
+#: nova/exception.py:552
+msgid "Could not find the datastore reference(s) which the VM uses."
+msgstr ""
+
+#: nova/exception.py:556
+#, python-format
+msgid "Port %(port_id)s is still in use."
+msgstr ""
+
+#: nova/exception.py:560
+#, python-format
+msgid "Port %(port_id)s not usable for instance %(instance)s."
+msgstr ""
+
+#: nova/exception.py:564
+#, python-format
+msgid "No free port available for instance %(instance)s."
+msgstr ""
+
+#: nova/exception.py:568
+#, python-format
+msgid "No fixed IP associated with id %(id)s."
+msgstr ""
+
+#: nova/exception.py:572
+#, python-format
+msgid "Fixed ip not found for address %(address)s."
+msgstr ""
+
+#: nova/exception.py:576
+#, python-format
+msgid "Instance %(instance_uuid)s has zero fixed ips."
+msgstr ""
+
+#: nova/exception.py:580
+#, python-format
+msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
+msgstr ""
+
+#: nova/exception.py:585
+#, python-format
+msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
+msgstr ""
+
+#: nova/exception.py:589
+#, python-format
+msgid ""
+"Fixed IP address (%(address)s) does not exist in network "
+"(%(network_uuid)s)."
+msgstr ""
+
+#: nova/exception.py:594
+#, python-format
+msgid ""
+"Fixed IP address %(address)s is already in use on instance "
+"%(instance_uuid)s."
+msgstr ""
+
+#: nova/exception.py:599
+#, python-format
+msgid "More than one instance is associated with fixed ip address '%(address)s'."
+msgstr ""
+
+#: nova/exception.py:604
+#, python-format
+msgid "Fixed IP address %(address)s is invalid."
+msgstr ""
+
+#: nova/exception.py:608
+msgid "Zero fixed ips available."
+msgstr ""
+
+#: nova/exception.py:612
+msgid "Zero fixed ips could be found."
+msgstr ""
+
+#: nova/exception.py:621
+#, python-format
+msgid "Floating ip %(address)s already exists."
+msgstr ""
+
+#: nova/exception.py:625
+#, python-format
+msgid "Floating ip not found for id %(id)s."
+msgstr ""
+
+#: nova/exception.py:629
+#, python-format
+msgid "The DNS entry %(name)s already exists in domain %(domain)s."
+msgstr ""
+
+#: nova/exception.py:633
+#, python-format
+msgid "Floating ip not found for address %(address)s."
+msgstr ""
+
+#: nova/exception.py:637
+#, python-format
+msgid "Floating ip not found for host %(host)s."
+msgstr ""
+
+#: nova/exception.py:641
+#, python-format
+msgid "Multiple floating ips are found for address %(address)s."
+msgstr ""
+
+#: nova/exception.py:645
+msgid "Floating ip pool not found."
+msgstr ""
+
+#: nova/exception.py:650
+msgid "Zero floating ips available."
+msgstr ""
+
+#: nova/exception.py:655
+#, python-format
+msgid "Floating ip %(address)s is associated."
+msgstr ""
+
+#: nova/exception.py:659
+#, python-format
+msgid "Floating ip %(address)s is not associated."
+msgstr ""
+
+#: nova/exception.py:663
+msgid "Zero floating ips exist."
+msgstr ""
+
+#: nova/exception.py:667
+#, python-format
+msgid "Interface %(interface)s not found."
+msgstr ""
+
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
+msgstr ""
+
+#: nova/exception.py:675
+#, python-format
+msgid "Keypair %(name)s not found for user %(user_id)s"
+msgstr ""
+
+#: nova/exception.py:679
+#, python-format
+msgid "Service %(service_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:683
+#, python-format
+msgid "Host %(host)s could not be found."
+msgstr ""
+
+#: nova/exception.py:687
+#, python-format
+msgid "Compute host %(host)s could not be found."
+msgstr ""
+
+#: nova/exception.py:691
+#, python-format
+msgid "Could not find binary %(binary)s on host %(host)s."
+msgstr ""
+
+#: nova/exception.py:695
+#, python-format
+msgid "Invalid reservation expiration %(expire)s."
+msgstr ""
+
+#: nova/exception.py:699
+#, python-format
+msgid ""
+"Change would make usage less than 0 for the following resources: "
+"%(unders)s"
+msgstr ""
+
+#: nova/exception.py:704
+msgid "Quota could not be found"
+msgstr ""
+
+#: nova/exception.py:708
+#, python-format
+msgid "Unknown quota resources %(unknown)s."
+msgstr ""
+
+#: nova/exception.py:712
+#, python-format
+msgid "Quota for project %(project_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:716
+#, python-format
+msgid "Quota class %(class_name)s could not be found."
+msgstr ""
+
+#: nova/exception.py:720
+#, python-format
+msgid "Quota usage for project %(project_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:724
+#, python-format
+msgid "Quota reservation %(uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:728
+#, python-format
+msgid "Quota exceeded for resources: %(overs)s"
+msgstr ""
+
+#: nova/exception.py:732
+#, python-format
+msgid "Security group %(security_group_id)s not found."
+msgstr ""
+
+#: nova/exception.py:736
+#, python-format
+msgid "Security group %(security_group_id)s not found for project %(project_id)s."
+msgstr ""
+
+#: nova/exception.py:741
+#, python-format
+msgid "Security group with rule %(rule_id)s not found."
+msgstr ""
+
+#: nova/exception.py:745
+#, python-format
+msgid ""
+"Security group %(security_group_id)s is already associated with the "
+"instance %(instance_id)s"
+msgstr ""
+
+#: nova/exception.py:750
+#, python-format
+msgid ""
+"Security group %(security_group_id)s is not associated with the instance "
+"%(instance_id)s"
+msgstr ""
+
+#: nova/exception.py:755
+#, python-format
+msgid "Security group default rule (%rule_id)s not found."
+msgstr ""
+
+#: nova/exception.py:759
+msgid ""
+"Network requires port_security_enabled and subnet associated in order to "
+"apply security groups."
+msgstr ""
+
+#: nova/exception.py:764
+msgid "No Unique Match Found."
+msgstr ""
+
+#: nova/exception.py:769
+#, python-format
+msgid "Migration %(migration_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:773
+#, python-format
+msgid "Migration not found for instance %(instance_id)s with status %(status)s."
+msgstr ""
+
+#: nova/exception.py:778
+#, python-format
+msgid "Console pool %(pool_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:782
+#, python-format
+msgid ""
+"Console pool of type %(console_type)s for compute host %(compute_host)s "
+"on proxy host %(host)s not found."
+msgstr ""
+
+#: nova/exception.py:788
+#, python-format
+msgid "Console %(console_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:792
+#, python-format
+msgid "Console for instance %(instance_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:796
+#, python-format
+msgid ""
+"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
+"found."
+msgstr ""
+
+#: nova/exception.py:801
+#, python-format
+msgid "Invalid console type %(console_type)s"
+msgstr ""
+
+#: nova/exception.py:805
+#, python-format
+msgid "Instance type %(instance_type_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:809
+#, python-format
+msgid "Instance type with name %(instance_type_name)s could not be found."
+msgstr ""
+
+#: nova/exception.py:814
+#, python-format
+msgid "Flavor %(flavor_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:818
+#, python-format
+msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
+msgstr ""
+
+#: nova/exception.py:823
+#, python-format
+msgid "Cell %(cell_name)s doesn't exist."
+msgstr ""
+
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
+#, python-format
+msgid "Inconsistency in cell routing: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:835
+#, python-format
+msgid "Service API method not found: %(detail)s"
+msgstr ""
+
+#: nova/exception.py:839
+msgid "Timeout waiting for response from cell"
+msgstr ""
+
+#: nova/exception.py:843
+#, python-format
+msgid "Cell message has reached maximum hop count: %(hop_count)s"
+msgstr ""
+
+#: nova/exception.py:847
+msgid "No cells available matching scheduling criteria."
+msgstr ""
+
+#: nova/exception.py:851
+#, python-format
+msgid "Exception received during cell processing: %(exc_name)s."
+msgstr ""
+
+#: nova/exception.py:855
+#, python-format
+msgid "Cell is not known for instance %(instance_uuid)s"
+msgstr ""
+
+#: nova/exception.py:859
+#, python-format
+msgid "Scheduler Host Filter %(filter_name)s could not be found."
+msgstr ""
+
+#: nova/exception.py:863
+#, python-format
+msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:868
+#, python-format
+msgid ""
+"Instance %(instance_uuid)s has no system metadata with key "
+"%(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:873
+#, python-format
+msgid ""
+"Instance Type %(instance_type_id)s has no extra specs with key "
+"%(extra_specs_key)s."
+msgstr ""
+
+#: nova/exception.py:878
+#, python-format
+msgid "File %(file_path)s could not be found."
+msgstr ""
+
+#: nova/exception.py:882
+msgid "Zero files could be found."
+msgstr ""
+
+#: nova/exception.py:886
+#, python-format
+msgid "Virtual switch associated with the network adapter %(adapter)s not found."
+msgstr ""
+
+#: nova/exception.py:891
+#, python-format
+msgid "Network adapter %(adapter)s could not be found."
+msgstr ""
+
+#: nova/exception.py:895
+#, python-format
+msgid "Class %(class_name)s could not be found: %(exception)s"
+msgstr ""
+
+#: nova/exception.py:899
+msgid "Action not allowed."
+msgstr ""
+
+#: nova/exception.py:903
+msgid "Rotation is not allowed for snapshots"
+msgstr ""
+
+#: nova/exception.py:907
+msgid "Rotation param is required for backup image_type"
+msgstr ""
+
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
+#, python-format
+msgid "Key pair '%(key_name)s' already exists."
+msgstr ""
+
+#: nova/exception.py:915
+#, python-format
+msgid "Instance %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:919
+#, python-format
+msgid "Instance Type with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:923
+#, python-format
+msgid "Instance Type with ID %(flavor_id)s already exists."
+msgstr ""
+
+#: nova/exception.py:927
+#, python-format
+msgid ""
+"Flavor access already exists for flavor %(flavor_id)s and project "
+"%(project_id)s combination."
+msgstr ""
+
+#: nova/exception.py:932
+#, python-format
+msgid "%(path)s is not on shared storage: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:936
+#, python-format
+msgid "%(path)s is not on local storage: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:940
+msgid "Migration error"
+msgstr ""
+
+#: nova/exception.py:944
+msgid "Migration pre-check error"
+msgstr ""
+
+#: nova/exception.py:948
+#, python-format
+msgid "Malformed message body: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:954
+#, python-format
+msgid "Could not find config at %(path)s"
+msgstr ""
+
+#: nova/exception.py:958
+#, python-format
+msgid "Could not load paste app '%(name)s' from %(path)s"
+msgstr ""
+
+#: nova/exception.py:962
+msgid "When resizing, instances must change flavor!"
+msgstr ""
+
+#: nova/exception.py:966
+#, python-format
+msgid "Resize error: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:970
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:974
+msgid "Instance type's memory is too small for requested image."
+msgstr ""
+
+#: nova/exception.py:978
+msgid "Instance type's disk is too small for requested image."
+msgstr ""
+
+#: nova/exception.py:982
+#, python-format
+msgid "Insufficient free memory on compute node to start %(uuid)s."
+msgstr ""
+
+#: nova/exception.py:986
+msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
+msgstr ""
+
+#: nova/exception.py:990
+#, python-format
+msgid "No valid host was found. %(reason)s"
+msgstr ""
+
+#: nova/exception.py:994
+msgid "Quota exceeded"
+msgstr ""
+
+#: nova/exception.py:1001
+#, python-format
+msgid ""
+"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
+"%(used)d of %(allowed)d %(resource)s"
+msgstr ""
+
+#: nova/exception.py:1006
+msgid "Maximum number of floating ips exceeded"
+msgstr ""
+
+#: nova/exception.py:1010
+msgid "Maximum number of fixed ips exceeded"
+msgstr ""
+
+#: nova/exception.py:1014
+#, python-format
+msgid "Maximum number of metadata items exceeds %(allowed)d"
+msgstr ""
+
+#: nova/exception.py:1018
+msgid "Personality file limit exceeded"
+msgstr ""
+
+#: nova/exception.py:1022
+msgid "Personality file path too long"
+msgstr ""
+
+#: nova/exception.py:1026
+msgid "Personality file content too long"
+msgstr ""
+
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
+msgid "Maximum number of key pairs exceeded"
+msgstr ""
+
+#: nova/exception.py:1034
+msgid "Maximum number of security groups or rules exceeded"
+msgstr ""
+
+#: nova/exception.py:1038
+#, python-format
+msgid ""
+"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
+"%(reason)s."
+msgstr ""
+
+#: nova/exception.py:1043
+#, python-format
+msgid "Aggregate %(aggregate_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1047
+#, python-format
+msgid "Aggregate %(aggregate_name)s already exists."
+msgstr ""
+
+#: nova/exception.py:1051
+#, python-format
+msgid "Aggregate %(aggregate_id)s has no host %(host)s."
+msgstr ""
+
+#: nova/exception.py:1055
+#, python-format
+msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1060
+#, python-format
+msgid "Aggregate %(aggregate_id)s already has host %(host)s."
+msgstr ""
+
+#: nova/exception.py:1064
+msgid "Unable to create instance type"
+msgstr ""
+
+#: nova/exception.py:1068
+#, python-format
+msgid "Failed to set admin password on %(instance)s because %(reason)s"
+msgstr ""
+
+#: nova/exception.py:1074
+#, python-format
+msgid "Detected existing vlan with id %(vlan)d"
+msgstr ""
+
+#: nova/exception.py:1078
+msgid "There was a conflict when trying to complete your request."
+msgstr ""
+
+#: nova/exception.py:1083
+#, python-format
+msgid "Instance %(instance_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1087
+#, python-format
+msgid "Info cache for instance %(instance_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1092
+#, python-format
+msgid "Node %(node_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1096
+#, python-format
+msgid "Node with UUID %(node_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1100
+#, python-format
+msgid "Marker %(marker)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1104
+#, python-format
+msgid "Invalid id: %(val)s (expecting \"i-...\")."
+msgstr ""
+
+#: nova/exception.py:1108
+#, python-format
+msgid "Could not fetch image %(image_id)s"
+msgstr ""
+
+#: nova/exception.py:1112
+#, python-format
+msgid "Could not upload image %(image_id)s"
+msgstr ""
+
+#: nova/exception.py:1116
+#, python-format
+msgid "Task %(task_name)s is already running on host %(host)s"
+msgstr ""
+
+#: nova/exception.py:1120
+#, python-format
+msgid "Task %(task_name)s is not running on host %(host)s"
+msgstr ""
+
+#: nova/exception.py:1124
+#, python-format
+msgid "Instance %(instance_uuid)s is locked"
+msgstr ""
+
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
+#, python-format
+msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
+msgstr ""
+
+#: nova/exception.py:1137
+#, python-format
+msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
+msgstr ""
+
+#: nova/exception.py:1142
+#, python-format
+msgid "Failed to attach network adapter device to %(instance)s"
+msgstr ""
+
+#: nova/exception.py:1146
+#, python-format
+msgid "Failed to detach network adapter device from %(instance)s"
+msgstr ""
+
+#: nova/exception.py:1150
+#, python-format
+msgid ""
+"User data too large. User data must be no larger than %(maxsize)s bytes "
+"once base64 encoded. Your data is %(length)d bytes"
+msgstr ""
+
+#: nova/exception.py:1156
+msgid "User data needs to be valid base 64."
+msgstr ""
+
+#: nova/exception.py:1160
+#, python-format
+msgid ""
+"unexpected task state: expecting %(expected)s but the actual state is "
+"%(actual)s"
+msgstr ""
+
+#: nova/exception.py:1165
+#, python-format
+msgid ""
+"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
+"found"
+msgstr ""
+
+#: nova/exception.py:1170
+#, python-format
+msgid "Event %(event)s not found for action id %(action_id)s"
+msgstr ""
+
+#: nova/exception.py:1174
+#, python-format
+msgid ""
+"unexpected VM state: expecting %(expected)s but the actual state is "
+"%(actual)s"
+msgstr ""
+
+#: nova/exception.py:1179
+#, python-format
+msgid "The CA file for %(project)s could not be found"
+msgstr ""
+
+#: nova/exception.py:1183
+#, python-format
+msgid "The CRL file for %(project)s could not be found"
+msgstr ""
+
+#: nova/exception.py:1187
+msgid "Instance recreate is not implemented by this virt driver."
+msgstr ""
+
+#: nova/exception.py:1191
+#, python-format
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
+msgstr ""
+
+#: nova/exception.py:1196
+#, python-format
+msgid "%(binary)s attempted direct database access which is not allowed by policy"
+msgstr ""
+
+#: nova/exception.py:1201
+#, python-format
+msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
+msgstr ""
+
+#: nova/exception.py:1206
+#, python-format
+msgid ""
+"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
+"driver"
+msgstr ""
+
+#: nova/exception.py:1211
+#, python-format
+msgid "Invalid Base 64 data for file %(path)s"
+msgstr ""
+
+#: nova/exception.py:1215
+#, python-format
+msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:1219
+#, python-format
+msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:1224
+#, python-format
+msgid "Shadow table with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:1229
+#, python-format
+msgid "Instance rollback performed due to: %s"
+msgstr ""
+
+#: nova/exception.py:1235
+#, python-format
+msgid "Unsupported object type %(objtype)s"
+msgstr ""
+
+#: nova/exception.py:1239
+#, python-format
+msgid "Cannot call %(method)s on orphaned %(objtype)s object"
+msgstr ""
+
+#: nova/exception.py:1243
+#, python-format
+msgid "Version %(objver)s of %(objname)s is not supported"
+msgstr ""
+
+#: nova/exception.py:1247
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1268
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1272
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1277
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1282
+#, python-format
+msgid "Instance group %(group_uuid)s has no policy %(policy)s."
+msgstr ""
+
+#: nova/hooks.py:62
+#, python-format
+msgid "Running %(name)s pre-hook: %(obj)s"
+msgstr ""
+
+#: nova/hooks.py:70
+#, python-format
+msgid "Running %(name)s post-hook: %(obj)s"
+msgstr ""
+
+#: nova/manager.py:162
+msgid "Notifying Schedulers of capabilities ..."
+msgstr ""
+
+#: nova/notifications.py:116 nova/notifications.py:156
+msgid "Failed to send state update notification"
+msgstr ""
+
+#: nova/notifications.py:241
+msgid "Failed to get nw_info"
+msgstr ""
+
+#: nova/policy.py:32
+msgid "JSON file representing policy"
+msgstr ""
+
+#: nova/policy.py:35
+msgid "Rule checked when requested rule is not found"
+msgstr ""
+
+#: nova/quota.py:972
+#, python-format
+msgid "Created reservations %(reservations)s"
+msgstr ""
+
+#: nova/quota.py:994
+#, python-format
+msgid "Failed to commit reservations %(reservations)s"
+msgstr ""
+
+#: nova/quota.py:997
+#, python-format
+msgid "Committed reservations %(reservations)s"
+msgstr ""
+
+#: nova/quota.py:1017
+#, python-format
+msgid "Failed to roll back reservations %(reservations)s"
+msgstr ""
+
+#: nova/quota.py:1020
+#, python-format
+msgid "Rolled back reservations %(reservations)s"
+msgstr ""
+
+#: nova/service.py:153
+#, python-format
+msgid "Starting %(topic)s node (version %(version)s)"
+msgstr ""
+
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
+#, python-format
+msgid "Creating Consumer connection for Service %s"
+msgstr ""
+
+#: nova/service.py:190
+#, python-format
+msgid "Join ServiceGroup membership for this service %s"
+msgstr ""
+
+#: nova/service.py:270
+msgid "Service killed that has no database entry"
+msgstr ""
+
+#: nova/service.py:292
+#, python-format
+msgid "Temporary directory is invalid: %s"
+msgstr ""
+
+#: nova/service.py:394
+msgid "serve() can only be called once"
+msgstr ""
+
+#: nova/utils.py:150
+#, python-format
+msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
+msgstr ""
+
+#: nova/utils.py:178
+#, python-format
+msgid "debug in callback: %s"
+msgstr ""
+
+#: nova/utils.py:362
+#, python-format
+msgid "Couldn't get IPv4 : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:379
+#, python-format
+msgid "IPv4 address is not found.: %s"
+msgstr ""
+
+#: nova/utils.py:382
+#, python-format
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:397
+#, python-format
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
+msgstr ""
+
+#: nova/utils.py:589
+#, python-format
+msgid "Expected object of type: %s"
+msgstr ""
+
+#: nova/utils.py:618
+#, python-format
+msgid "Invalid server_string: %s"
+msgstr ""
+
+#: nova/utils.py:760
+#, python-format
+msgid "timefunc: '%(name)s' took %(total_time).2f secs"
+msgstr ""
+
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
+#, python-format
+msgid "Reloading cached file %s"
+msgstr ""
+
+#: nova/utils.py:936 nova/virt/configdrive.py:177
+#, python-format
+msgid "Could not remove tmpdir: %s"
+msgstr ""
+
+#: nova/utils.py:1103
+#, python-format
+msgid "%s is not a string or unicode"
+msgstr ""
+
+#: nova/utils.py:1107
+#, python-format
+msgid "%(name)s has less than %(min_length)s characters."
+msgstr ""
+
+#: nova/utils.py:1112
+#, python-format
+msgid "%(name)s has more than %(max_length)s characters."
+msgstr ""
+
+#: nova/wsgi.py:125
+#, python-format
+msgid "%(name)s listening on %(host)s:%(port)s"
+msgstr ""
+
+#: nova/wsgi.py:140
+#, python-format
+msgid "Unable to find cert_file : %s"
+msgstr ""
+
+#: nova/wsgi.py:144
+#, python-format
+msgid "Unable to find ca_file : %s"
+msgstr ""
+
+#: nova/wsgi.py:148
+#, python-format
+msgid "Unable to find key_file : %s"
+msgstr ""
+
+#: nova/wsgi.py:152
+msgid ""
+"When running server in SSL mode, you must specify both a cert_file and "
+"key_file option value in your configuration file"
+msgstr ""
+
+#: nova/wsgi.py:183
+#, python-format
+msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
+msgstr ""
+
+#: nova/wsgi.py:210
+msgid "Stopping WSGI server."
+msgstr ""
+
+#: nova/wsgi.py:228
+msgid "WSGI server has stopped."
+msgstr ""
+
+#: nova/wsgi.py:297
+msgid "You must implement __call__"
+msgstr ""
+
+#: nova/wsgi.py:483
+#, python-format
+msgid "Loading app %(name)s from %(path)s"
+msgstr ""
+
+#: nova/api/auth.py:116
+msgid "Invalid service catalog json."
+msgstr ""
+
+#: nova/api/auth.py:139
+msgid "Sourcing roles from deprecated X-Role HTTP header"
+msgstr ""
+
+#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
+#: nova/api/metadata/password.py:61
+msgid "Request is too large."
+msgstr ""
+
+#: nova/api/validator.py:131
+#, python-format
+msgid "%(key)s with value %(value)s failed validator %(name)s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:81
+#, python-format
+msgid "%(code)s: %(message)s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:104
+#, python-format
+msgid "FaultWrapper: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:175
+msgid "Too many failed authentications."
+msgstr ""
+
+#: nova/api/ec2/__init__.py:184
+#, python-format
+msgid ""
+"Access key %(access_key)s has had %(failures)d failed authentications and"
+" will be locked out for %(lock_mins)d minutes."
+msgstr ""
+
+#: nova/api/ec2/__init__.py:203
+msgid "Signature not provided"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:207
+msgid "Access key not provided"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
+msgid "Failure communicating with keystone"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:256
+#, python-format
+msgid "Keystone failure: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:316
+msgid "Timestamp failed validation."
+msgstr ""
+
+#: nova/api/ec2/__init__.py:336
+#, python-format
+msgid "action: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:338
+#, python-format
+msgid "arg: %(key)s\t\tval: %(value)s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:414
+#, python-format
+msgid "Unauthorized request for controller=%(controller)s and action=%(action)s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:488
+#, python-format
+msgid "InstanceNotFound raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:494
+#, python-format
+msgid "VolumeNotFound raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:500
+#, python-format
+msgid "SnapshotNotFound raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:506
+#, python-format
+msgid "NotFound raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:515
+#, python-format
+msgid "KeyPairExists raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:520
+#, python-format
+msgid "InvalidKeypair raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:525
+#, python-format
+msgid "InvalidParameterValue raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:529
+#, python-format
+msgid "InvalidPortRange raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:533
+#, python-format
+msgid "NotAuthorized raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:537
+#, python-format
+msgid "InvalidRequest raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:541
+#, python-format
+msgid "QuotaError raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:545
+#, python-format
+msgid "Invalid id: bogus (expecting \"i-...\"): %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:554
+#, python-format
+msgid "Unexpected error raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:555
+#, python-format
+msgid "Environment: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:557 nova/api/metadata/handler.py:136
+#: nova/api/metadata/handler.py:187
+msgid "An unknown error has occurred. Please try your request again."
+msgstr ""
+
+#: nova/api/ec2/apirequest.py:61
+#, python-format
+msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:401
+#, python-format
+msgid "Create snapshot of volume %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:426
+#, python-format
+msgid "Could not find key pair(s): %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:443
+#, python-format
+msgid "Create key pair %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
+#: nova/api/openstack/compute/contrib/keypairs.py:93
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
+msgid "Quota exceeded, too many key pairs."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:459
+#, python-format
+msgid "Import key %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:479
+#, python-format
+msgid "Delete key pair %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
+msgid "Not enough parameters, need group_name or group_id"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:626
+#, python-format
+msgid "%s Not enough parameters to build a valid rule"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:633
+#, python-format
+msgid "Invalid IP protocol %s."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
+msgid "No rule for the specified parameters."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:686
+#, python-format
+msgid "%s - This rule already exists in group"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:769
+#, python-format
+msgid "Get console output for instance %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:840
+#, python-format
+msgid "Create volume from snapshot %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
+#, python-format
+msgid "Create volume of %s GB"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:871
+msgid "Delete Failed"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:884
+#, python-format
+msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:895
+msgid "Attach Failed."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
+#, python-format
+msgid "Detach volume %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:924
+msgid "Detach Volume Failed."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
+#, python-format
+msgid "attribute not supported: %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1082
+#, python-format
+msgid "vol = %s\n"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1242
+msgid "Allocate address"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1246
+msgid "No more floating IPs available"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1250
+#, python-format
+msgid "Release address %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1255
+msgid "Unable to release IP Address."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1258
+#, python-format
+msgid "Associate address %(public_ip)s to instance %(instance_id)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1268
+msgid "Unable to associate IP Address, no fixed_ips."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1276
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
+#, python-format
+msgid "multiple fixed_ips exist, using the first: %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1285
+msgid "Floating ip is already associated."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1288
+msgid "l3driver call to add floating ip failed."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1291
+msgid "Error, unable to associate floating ip."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1299
+#, python-format
+msgid "Disassociate address %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1304
+msgid "Floating ip is not associated."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1334
+msgid "Image must be available"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1372
+msgid "Going to start terminating instances"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1382
+#, python-format
+msgid "Reboot instance %r"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1392
+msgid "Going to stop instances"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1402
+msgid "Going to start instances"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1493
+#, python-format
+msgid "De-registering image %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1509
+msgid "imageLocation is required"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1528
+#, python-format
+msgid "Registered image %(image_location)s with id %(image_id)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1591
+msgid "user or group not specified"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1593
+msgid "only group \"all\" is supported"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1595
+msgid "operation_type must be add or remove"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1597
+#, python-format
+msgid "Updating image %s publicity"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1610
+#, python-format
+msgid "Not allowed to modify attributes for image %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1638
+#, python-format
+msgid ""
+"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
+"have a volume attached at root (%(root)s)"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1670
+#, python-format
+msgid "Couldn't stop instance with in %d sec"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1688
+#, python-format
+msgid "image of %(instance)s at %(now)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
+msgid "resource_id and tag are required"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+msgid "Expecting a list of resources"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
+msgid "Only instances implemented"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+msgid "Expecting a list of tagSets"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1780
+msgid "Expecting key to be set"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1853
+msgid "Invalid CIDR"
+msgstr ""
+
+#: nova/api/ec2/ec2utils.py:249
+msgid "Request must include either Timestamp or Expires, but cannot contain both"
+msgstr ""
+
+#: nova/api/ec2/ec2utils.py:267
+msgid "Timestamp is invalid."
+msgstr ""
+
+#: nova/api/metadata/handler.py:108
+msgid ""
+"X-Instance-ID present in request headers. The "
+"'service_quantum_metadata_proxy' option must be enabled to process this "
+"header."
+msgstr ""
+
+#: nova/api/metadata/handler.py:134 nova/api/metadata/handler.py:141
+#, python-format
+msgid "Failed to get metadata for ip: %s"
+msgstr ""
+
+#: nova/api/metadata/handler.py:153
+msgid "X-Instance-ID header is missing from request."
+msgstr ""
+
+#: nova/api/metadata/handler.py:155
+msgid "Multiple X-Instance-ID headers found within request."
+msgstr ""
+
+#: nova/api/metadata/handler.py:169
+#, python-format
+msgid ""
+"X-Instance-ID-Signature: %(signature)s does not match the expected value:"
+" %(expected_signature)s for id: %(instance_id)s. Request From: "
+"%(remote_address)s"
+msgstr ""
+
+#: nova/api/metadata/handler.py:178
+msgid "Invalid proxy request signature."
+msgstr ""
+
+#: nova/api/metadata/handler.py:185 nova/api/metadata/handler.py:192
+#, python-format
+msgid "Failed to get metadata for instance id: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:79
+#, python-format
+msgid "Caught error: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:88
+#, python-format
+msgid "%(url)s returned with HTTP %(status)d"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:175
+msgid "Must specify an ExtensionManager class"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
+#, python-format
+msgid "Extended resource: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:221 nova/api/openstack/__init__.py:396
+#, python-format
+msgid ""
+"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
+"resource"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:226 nova/api/openstack/__init__.py:401
+#, python-format
+msgid "Extension %(ext_name)s extending resource: %(collection)s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:269
+#, python-format
+msgid "Not loading %s because it is in the blacklist"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:274
+#, python-format
+msgid "Not loading %s because it is not in the whitelist"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:285
+#, python-format
+msgid "v3 API Extension Blacklist: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:287
+#, python-format
+msgid "v3 API Extension Whitelist: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:294
+#, python-format
+msgid "Extensions in both blacklist and whitelist: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:318
+#, python-format
+msgid "Missing core API extensions: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:346
+#, python-format
+msgid "Running _register_resources on %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:388
+#, python-format
+msgid "Running _register_controllers on %s"
+msgstr ""
+
+#: nova/api/openstack/common.py:114
+#, python-format
+msgid ""
+"status is UNKNOWN from vm_state=%(vm_state)s task_state=%(task_state)s. "
+"Bad upgrade or db corrupted?"
+msgstr ""
+
+#: nova/api/openstack/common.py:154 nova/api/openstack/common.py:188
+msgid "limit param must be an integer"
+msgstr ""
+
+#: nova/api/openstack/common.py:157 nova/api/openstack/common.py:192
+msgid "limit param must be positive"
+msgstr ""
+
+#: nova/api/openstack/common.py:182
+msgid "offset param must be an integer"
+msgstr ""
+
+#: nova/api/openstack/common.py:196
+msgid "offset param must be positive"
+msgstr ""
+
+#: nova/api/openstack/common.py:231 nova/api/openstack/compute/servers.py:556
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
+#, python-format
+msgid "marker [%s] not found"
+msgstr ""
+
+#: nova/api/openstack/common.py:271
+#, python-format
+msgid "href %s does not contain version"
+msgstr ""
+
+#: nova/api/openstack/common.py:286
+msgid "Image metadata limit exceeded"
+msgstr ""
+
+#: nova/api/openstack/common.py:294
+msgid "Image metadata key cannot be blank"
+msgstr ""
+
+#: nova/api/openstack/common.py:297
+msgid "Image metadata key too long"
+msgstr ""
+
+#: nova/api/openstack/common.py:300
+msgid "Invalid image metadata"
+msgstr ""
+
+#: nova/api/openstack/common.py:363
+#, python-format
+msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
+msgstr ""
+
+#: nova/api/openstack/common.py:366
+#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
+msgid "Instance is in an invalid state for '%s'"
+msgstr ""
+
+#: nova/api/openstack/common.py:449
+msgid "Rejecting snapshot request, snapshots currently disabled"
+msgstr ""
+
+#: nova/api/openstack/common.py:451
+msgid "Instance snapshots are not permitted at this time."
+msgstr ""
+
+#: nova/api/openstack/extensions.py:197
+#, python-format
+msgid "Loaded extension: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/compute/plugins/__init__.py:46
+#, python-format
+msgid "Ext name: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/compute/plugins/__init__.py:47
+#, python-format
+msgid "Ext alias: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/compute/plugins/__init__.py:48
+#, python-format
+msgid "Ext description: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/compute/plugins/__init__.py:50
+#, python-format
+msgid "Ext namespace: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:241
+#, python-format
+msgid "Ext updated: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:243
+#: nova/api/openstack/compute/plugins/__init__.py:53
+#, python-format
+msgid "Exception loading extension: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:257
+#, python-format
+msgid "Loading extension %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:266
+#, python-format
+msgid "Calling extension factory %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:278
+#, python-format
+msgid "Failed to load extension %(ext_factory)s: %(exc)s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:349
+#, python-format
+msgid "Failed to load extension %(classpath)s: %(exc)s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:372
+#, python-format
+msgid "Failed to load extension %(ext_name)s:%(exc)s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
+msgid "cannot understand JSON"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:631
+msgid "too many body keys"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:675
+#, python-format
+msgid "Exception handling resource: %s"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:679
+#, python-format
+msgid "Fault thrown: %s"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:682
+#, python-format
+msgid "HTTP exception thrown: %s"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:796
+msgid "Unrecognized Content-Type provided in request"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:800
+msgid "No Content-Type provided in request"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:804
+msgid "Empty body provided in request"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:912
+#, python-format
+msgid "There is no such action: %s"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:915 nova/api/openstack/wsgi.py:935
+#: nova/api/openstack/compute/server_metadata.py:58
+#: nova/api/openstack/compute/server_metadata.py:76
+#: nova/api/openstack/compute/server_metadata.py:101
+#: nova/api/openstack/compute/server_metadata.py:126
+#: nova/api/openstack/compute/contrib/admin_actions.py:211
+#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
+msgid "Malformed request body"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:919
+#, python-format
+msgid "Action: '%(action)s', body: %(body)s"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:923
+#, python-format
+msgid "Calling method %s"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:932
+msgid "Unsupported Content-Type"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:944
+#, python-format
+msgid ""
+"Malformed request URL: URL's project_id '%(project_id)s' doesn't match "
+"Context's project_id '%(context_project_id)s'"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:1181
+#, python-format
+msgid "Returning %(code)s to user: %(explanation)s"
+msgstr ""
+
+#: nova/api/openstack/xmlutil.py:270
+msgid "element is not a child"
+msgstr ""
+
+#: nova/api/openstack/xmlutil.py:419
+msgid "root element selecting a list"
+msgstr ""
+
+#: nova/api/openstack/xmlutil.py:742
+#, python-format
+msgid "Template tree mismatch; adding slave %(slavetag)s to master %(mastertag)s"
+msgstr ""
+
+#: nova/api/openstack/xmlutil.py:862
+msgid "subclasses must implement construct()!"
+msgstr ""
+
+#: nova/api/openstack/compute/extensions.py:38
+msgid "Initializing extension manager."
+msgstr ""
+
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
+#, python-format
+msgid "Invalid is_public filter [%s]"
+msgstr ""
+
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
+#, python-format
+msgid "Invalid minRam filter [%s]"
+msgstr ""
+
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
+#, python-format
+msgid "Invalid minDisk filter [%s]"
+msgstr ""
+
+#: nova/api/openstack/compute/image_metadata.py:36
+#: nova/api/openstack/compute/images.py:141
+#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
+msgid "Image not found."
+msgstr ""
+
+#: nova/api/openstack/compute/image_metadata.py:76
+msgid "Incorrect request body format"
+msgstr ""
+
+#: nova/api/openstack/compute/image_metadata.py:80
+#: nova/api/openstack/compute/server_metadata.py:80
+#: nova/api/openstack/compute/contrib/flavorextraspecs.py:85
+msgid "Request body and URI mismatch"
+msgstr ""
+
+#: nova/api/openstack/compute/image_metadata.py:83
+#: nova/api/openstack/compute/server_metadata.py:84
+#: nova/api/openstack/compute/contrib/flavorextraspecs.py:88
+msgid "Request body contains too many items"
+msgstr ""
+
+#: nova/api/openstack/compute/image_metadata.py:109
+msgid "Invalid metadata key"
+msgstr ""
+
+#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
+msgid "You are not allowed to delete the image."
+msgstr ""
+
+#: nova/api/openstack/compute/ips.py:68
+#: nova/api/openstack/compute/plugins/v3/ips.py:69
+msgid "Instance does not exist"
+msgstr ""
+
+#: nova/api/openstack/compute/ips.py:91
+#: nova/api/openstack/compute/plugins/v3/ips.py:92
+msgid "Instance is not a member of specified network"
+msgstr ""
+
+#: nova/api/openstack/compute/limits.py:148
+#, python-format
+msgid ""
+"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
+"%(unit_string)s."
+msgstr ""
+
+#: nova/api/openstack/compute/limits.py:276
+msgid "This request was rate-limited."
+msgstr ""
+
+#: nova/api/openstack/compute/server_metadata.py:38
+#: nova/api/openstack/compute/server_metadata.py:122
+#: nova/api/openstack/compute/server_metadata.py:173
+msgid "Server does not exist"
+msgstr ""
+
+#: nova/api/openstack/compute/server_metadata.py:154
+#: nova/api/openstack/compute/server_metadata.py:165
+msgid "Metadata item was not found"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:521
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
+#: nova/api/openstack/compute/plugins/v3/servers.py:563
+msgid "Invalid changes-since value"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:540
+#: nova/api/openstack/compute/plugins/v3/servers.py:582
+msgid "Only administrators may list deleted instances"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:559
+#: nova/api/openstack/compute/plugins/v3/servers.py:601
+#, python-format
+msgid "Flavor '%s' could not be found "
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:576
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
+#: nova/api/openstack/compute/plugins/v3/servers.py:618
+#: nova/api/openstack/compute/plugins/v3/servers.py:785
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
+msgid "Instance could not be found"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:597
+#: nova/api/openstack/compute/plugins/v3/servers.py:637
+msgid "Device name cannot include spaces."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:614
+#: nova/api/openstack/compute/plugins/v3/servers.py:654
+#, python-format
+msgid "Bad personality format: missing %s"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:617
+#: nova/api/openstack/compute/plugins/v3/servers.py:657
+msgid "Bad personality format"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:620
+#: nova/api/openstack/compute/plugins/v3/servers.py:660
+#, python-format
+msgid "Personality content for %s cannot be decoded"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:651
+#: nova/api/openstack/compute/plugins/v3/servers.py:691
+msgid "Unknown argment : port"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:654
+#: nova/api/openstack/compute/plugins/v3/servers.py:694
+#, python-format
+msgid "Bad port format: port uuid is not in proper format (%s)"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:664
+#: nova/api/openstack/compute/plugins/v3/servers.py:704
+#, python-format
+msgid "Bad networks format: network uuid is not in proper format (%s)"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:674
+#: nova/api/openstack/compute/plugins/v3/servers.py:714
+#, python-format
+msgid "Invalid fixed IP address (%s)"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:687
+#: nova/api/openstack/compute/plugins/v3/servers.py:727
+#, python-format
+msgid "Duplicate networks (%s) are not allowed"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:693
+#: nova/api/openstack/compute/plugins/v3/servers.py:733
+#, python-format
+msgid "Bad network format: missing %s"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
+#: nova/api/openstack/compute/plugins/v3/servers.py:736
+msgid "Bad networks format"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:722
+#: nova/api/openstack/compute/plugins/v3/servers.py:762
+msgid "Userdata content cannot be decoded"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:727
+#: nova/api/openstack/compute/plugins/v3/servers.py:767
+msgid "accessIPv4 is not proper IPv4 format"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:732
+#: nova/api/openstack/compute/plugins/v3/servers.py:772
+msgid "accessIPv6 is not proper IPv6 format"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:761
+#: nova/api/openstack/compute/plugins/v3/servers.py:801
+msgid "Server name is not defined"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
+#: nova/api/openstack/compute/plugins/v3/servers.py:876
+#: nova/api/openstack/compute/plugins/v3/servers.py:993
+msgid "Invalid flavorRef provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:854
+#: nova/api/openstack/compute/plugins/v3/servers.py:924
+msgid "min_count must be an integer value"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:857
+#: nova/api/openstack/compute/plugins/v3/servers.py:927
+msgid "min_count must be > 0"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:863
+#: nova/api/openstack/compute/plugins/v3/servers.py:933
+msgid "max_count must be an integer value"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:866
+#: nova/api/openstack/compute/plugins/v3/servers.py:936
+msgid "max_count must be > 0"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:870
+#: nova/api/openstack/compute/plugins/v3/servers.py:940
+msgid "min_count must be <= max_count"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:914
+#: nova/api/openstack/compute/plugins/v3/servers.py:990
+msgid "Can not find requested image"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:920
+#: nova/api/openstack/compute/plugins/v3/servers.py:996
+msgid "Invalid key_name provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
+msgid "HostId cannot be updated."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
+msgid "Personality cannot be updated."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
+msgid "Instance has not been resized."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+msgid "Flavor used by the instance could not be found."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
+msgid "Argument 'type' for reboot is not HARD or SOFT"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
+msgid "Missing argument 'type' for reboot"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
+msgid "Unable to locate requested flavor."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+msgid "Resize requires a flavor change."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
+msgid "You are not authorized to access the image the instance was started with."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
+msgid "Image that the instance was started with could not be found."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
+msgid "Invalid instance image."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
+msgid "Missing imageRef attribute"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
+msgid "Invalid imageRef provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
+msgid "Missing flavorRef attribute"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
+msgid "No adminPass was specified"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
+msgid "Invalid adminPass"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
+msgid "Unable to set password on instance"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
+msgid "Unable to parse metadata key/value pairs."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
+msgid "Resize request has invalid 'flavorRef' attribute."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+msgid "Resize requests require 'flavorRef' attribute."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1231
+#: nova/api/openstack/compute/contrib/aggregates.py:143
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
+#: nova/api/openstack/compute/contrib/keypairs.py:78
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
+msgid "Invalid request body"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
+msgid "Could not parse imageRef from request."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
+msgid "Cannot find image for rebuild"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
+msgid "createImage entity requires name attribute"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
+#, python-format
+msgid "Removing options '%s' from query"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:60
+#, python-format
+msgid "Compute.api::pause %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:77
+#, python-format
+msgid "Compute.api::unpause %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:94
+#, python-format
+msgid "compute.api::suspend %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:111
+#, python-format
+msgid "compute.api::resume %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:127
+#, python-format
+msgid "Error in migrate %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:141
+#, python-format
+msgid "Compute.api::reset_network %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:154
+#: nova/api/openstack/compute/contrib/admin_actions.py:170
+#: nova/api/openstack/compute/contrib/admin_actions.py:186
+#: nova/api/openstack/compute/contrib/admin_actions.py:321
+#: nova/api/openstack/compute/contrib/multinic.py:41
+#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
+msgid "Server not found"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:157
+#, python-format
+msgid "Compute.api::inject_network_info %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:173
+#, python-format
+msgid "Compute.api::lock %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:189
+#, python-format
+msgid "Compute.api::unlock %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:219
+#, python-format
+msgid "createBackup entity requires %s attribute"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:223
+msgid "Malformed createBackup entity"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:229
+msgid "createBackup attribute 'rotation' must be an integer"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:232
+msgid "createBackup attribute 'rotation' must be greater than or equal to zero"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:248
+#: nova/api/openstack/compute/contrib/console_output.py:45
+#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
+msgid "Instance not found"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:278
+msgid "host and block_migration must be specified."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:292
+#, python-format
+msgid "Live migration of instance %s to another host failed"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:295
+#, python-format
+msgid "Live migration of instance %(id)s to host %(host)s failed"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:313
+#, python-format
+msgid "Desired state must be specified. Valid states are: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:324
+#, python-format
+msgid "Compute.api::resetState %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/aggregates.py:89
+#, python-format
+msgid "Cannot show aggregate: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/aggregates.py:115
+#, python-format
+msgid "Cannot update aggregate: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/aggregates.py:127
+#, python-format
+msgid "Cannot delete aggregate: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/aggregates.py:140
+#, python-format
+msgid "Aggregates does not have %s action"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/aggregates.py:153
+#: nova/api/openstack/compute/contrib/aggregates.py:158
+#, python-format
+msgid "Cannot add host %(host)s in aggregate %(id)s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/aggregates.py:172
+#: nova/api/openstack/compute/contrib/aggregates.py:176
+#, python-format
+msgid "Cannot remove host %(host)s in aggregate %(id)s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/aggregates.py:196
+#, python-format
+msgid "Cannot set metadata %(metadata)s in aggregate %(id)s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/attach_interfaces.py:102
+msgid "Attach interface"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/attach_interfaces.py:109
+#: nova/api/openstack/compute/contrib/attach_interfaces.py:142
+#: nova/api/openstack/compute/contrib/attach_interfaces.py:165
+msgid "Network driver does not support this function."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/attach_interfaces.py:113
+msgid "Failed to attach interface"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/attach_interfaces.py:121
+msgid "Attachments update is not supported"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/attach_interfaces.py:132
+#, python-format
+msgid "Detach interface %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/baremetal_nodes.py:192
+msgid "Must specify id or address"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
+msgid "Cell name cannot be empty"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
+msgid "Cell name cannot contain '!' or '.'"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
+msgid "Cell type must be 'parent' or 'child'"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
+msgid "No cell information in request"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
+msgid "No cell name in request"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
+msgid "Only 'updated_since' and 'project_id' are understood."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
+msgid "Only root certificate can be retrieved."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cloudpipe.py:149
+msgid ""
+"Unable to claim IP for VPN instances, ensure it isn't running, and try "
+"again in a few minutes"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cloudpipe_update.py:41
+#, python-format
+msgid "Unknown action %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/console_output.py:50
+msgid "os-getConsoleOutput malformed or missing from request body"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/console_output.py:57
+msgid "Length in request body must be an integer value"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/console_output.py:65
+msgid "Unable to get console"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/consoles.py:51
+msgid "Instance not yet ready"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:97
+#, python-format
+msgid "Can't connect to service: %s, no portspecified\n"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:116
+msgid "Coverage begin"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
+msgid "Coverage not running"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
+msgid "Invalid path"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
+msgid "No path given for report file"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
+msgid "You can't use html reports without combining"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
+#, python-format
+msgid "Directory conflict: %s already exists"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
+msgid "Python coverage module is not installed."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
+#, python-format
+msgid "Coverage doesn't have %s action"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/disk_config.py:43
+#, python-format
+msgid "%s must be either 'MANUAL' or 'AUTO'."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
+msgid "admin password can't be changed on existing disk"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
+msgid "host and onSharedStorage must be specified."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
+#, python-format
+msgid "Error in evacuate, %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
+#, python-format
+msgid "Fixed IP %s has been deleted"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
+#, python-format
+msgid "Fixed IP %s not found"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/flavor_access.py:76
+#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
+msgid "Flavor not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
+msgid "Access list not available for public flavors."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
+msgid "No request body"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/flavorextraspecs.py:55
+msgid "No Request Body"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ip_dns.py:223
+msgid "DNS entries not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:129
+#: nova/api/openstack/compute/contrib/floating_ips.py:177
+#, python-format
+msgid "Floating ip not found for id %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:162
+#, python-format
+msgid "No more floating ips in pool %s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:164
+msgid "No more floating ips available."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:189
+#, python-format
+msgid "Floating ip %s has been disassociated"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:216
+#: nova/api/openstack/compute/contrib/floating_ips.py:281
+#: nova/api/openstack/compute/contrib/security_groups.py:457
+msgid "Missing parameter dict"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:219
+#: nova/api/openstack/compute/contrib/floating_ips.py:284
+msgid "Address not specified"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:226
+msgid "No nw_info cache associated with instance"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:231
+msgid "No fixed ips associated to instance"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:242
+msgid "Specified fixed address not assigned to instance"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:256
+msgid "floating ip is already associated"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:259
+msgid "l3driver call to add floating ip failed"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:263
+#: nova/api/openstack/compute/contrib/floating_ips.py:292
+msgid "floating ip not found"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:266
+msgid "Error. Unable to associate floating ip"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
+msgid "Floating ip is not associated"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:311
+#, python-format
+msgid "Floating ip %(address)s is not associated with instance %(id)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
+#: nova/cmd/manage.py:385
+#, python-format
+msgid "/%s should be specified as single address(es) not in cidr format"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/fping.py:53
+msgid "fping utility is not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:183
+#, python-format
+msgid "Invalid update setting: '%s'"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:186
+#, python-format
+msgid "Invalid status: '%s'"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:188
+#, python-format
+msgid "Invalid mode: '%s'"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:190
+msgid "'status' or 'maintenance_mode' needed for host update"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:206
+#, python-format
+msgid "Putting host %(host_name)s in maintenance mode %(mode)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:212
+msgid "Virt driver does not implement host maintenance mode."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:227
+#, python-format
+msgid "Enabling host %s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:229
+#, python-format
+msgid "Disabling host %s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:234
+msgid "Virt driver does not implement host disabled status."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:250
+msgid "Virt driver does not implement host power management."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:336
+msgid "Describe-resource is admin only functionality"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hypervisors.py:183
+#: nova/api/openstack/compute/contrib/hypervisors.py:194
+#, python-format
+msgid "Hypervisor with ID '%s' could not be found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hypervisors.py:202
+msgid "Virt driver does not implement uptime function."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hypervisors.py:218
+#: nova/api/openstack/compute/contrib/hypervisors.py:228
+#, python-format
+msgid "No hypervisor matching '%s' could be found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/instance_usage_audit_log.py:57
+#, python-format
+msgid "Invalid timestamp for date %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/multinic.py:52
+msgid "Missing 'networkId' argument for addFixedIp"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/multinic.py:68
+msgid "Missing 'address' argument for removeFixedIp"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/multinic.py:77
+#, python-format
+msgid "Unable to find address %r"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/networks_associate.py:23
+#, python-format
+msgid "Disassociating host with network with id %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/networks_associate.py:27
+#: nova/api/openstack/compute/contrib/networks_associate.py:38
+#: nova/api/openstack/compute/contrib/networks_associate.py:50
+#: nova/api/openstack/compute/contrib/os_networks.py:79
+#: nova/api/openstack/compute/contrib/os_networks.py:89
+#: nova/api/openstack/compute/contrib/os_networks.py:99
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:110
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:132
+msgid "Network not found"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/networks_associate.py:34
+#, python-format
+msgid "Disassociating project with network with id %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:74
+#, python-format
+msgid "Disassociating network with id %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:85
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:106
+#, python-format
+msgid "Showing network with id %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:95
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:124
+#, python-format
+msgid "Deleting network with id %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:110
+msgid "Missing network in body"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:114
+msgid "Network label is required"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:118
+msgid "Network cidr or cidr_v6 is required"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:120
+#, python-format
+msgid "Creating network with label %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:136
+#, python-format
+msgid "Associating network %(network)s with project %(project)s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:144
+msgid "VLAN support must be enabled"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:147
+#, python-format
+msgid "Cannot associate network %(network)s with project %(project)s: %(message)s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:121
+msgid "Failed to update usages deallocating network."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:151
+msgid "No CIDR requested"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:157
+msgid "Requested network does not contain enough (2+) usable hosts"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:161
+msgid "CIDR is malformed."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:164
+msgid "Address could not be converted."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:172
+msgid "Quota exceeded, too many networks."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:183
+msgid "Create networks failed"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
+msgid "Quota limit must be -1 or greater."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
+#, python-format
+msgid "Bad key(s) %s in quota_set"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
+#, python-format
+msgid ""
+"Quota value %(value)s for %(key)s are greater than already used and "
+"reserved %(quota_used)s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/scheduler_hints.py:38
+msgid "Malformed scheduler_hints attribute"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
+#: nova/api/openstack/compute/contrib/security_groups.py:371
+msgid "Not enough parameters to build a valid rule."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_group_default_rules.py:133
+msgid "This default rule already exists."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_group_default_rules.py:154
+#, python-format
+msgid "Showing security_group_default_rule with id %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_group_default_rules.py:158
+msgid "security group default rule not found"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_groups.py:379
+#, python-format
+msgid "Bad prefix for network in cidr %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_groups.py:460
+msgid "Security group not specified"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_groups.py:464
+msgid "Security group name cannot be empty"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
+msgid "start instance"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
+msgid "stop instance"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/services.py:173
+msgid "Disabled reason contains invalid characters or is too long"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/services.py:180
+msgid "Invalid attribute in the request"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/services.py:182
+msgid "Missing disabled reason field"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/services.py:188
+msgid "Unknown service"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
+msgid "Invalid start time. The start time cannot occur after the end time."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:75
+#, python-format
+msgid "vol=%s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:187
+#, python-format
+msgid "Delete volume with id: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:359
+#: nova/api/openstack/compute/contrib/volumes.py:456
+#, python-format
+msgid "Instance %s is not attached."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:380
+#, python-format
+msgid "Bad volumeId format: volumeId is not in proper format (%s)"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:399
+#, python-format
+msgid "Attach volume %(volume_id)s to instance %(server_id)s at %(device)s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:579
+#, python-format
+msgid "Delete snapshot with id: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:619
+#, python-format
+msgid "Create snapshot from volume %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:626
+#, python-format
+msgid "Invalid value '%s' for force."
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/__init__.py:35
+#, python-format
+msgid "Loaded extension %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/__init__.py:51
+#, python-format
+msgid "Ext version: %i"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
+#, python-format
+msgid "Reserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
+#, python-format
+msgid "Unreserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/servers.py:485
+#, python-format
+msgid "server create extension %s detected"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#, python-format
+msgid "extension %s is missing server_create"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/servers.py:508
+msgid "Did not find any server create extensions"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
+#, python-format
+msgid "Running _create_extension_point for %s"
+msgstr ""
+
+#: nova/api/openstack/compute/views/servers.py:176
+msgid "Instance has had its instance_type removed from the DB"
+msgstr ""
+
+#: nova/cells/messaging.py:205
+#, python-format
+msgid "Error processing message locally: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
+#, python-format
+msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
+msgstr ""
+
+#: nova/cells/messaging.py:381
+#, python-format
+msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
+msgstr ""
+
+#: nova/cells/messaging.py:405
+#, python-format
+msgid "Error locating next hop for message: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:432
+#, python-format
+msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:511
+#, python-format
+msgid "Error locating next hops for message: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:531
+#, python-format
+msgid "Error sending message to next hops: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:549
+#, python-format
+msgid "Error waiting for responses from neighbor cells: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:664
+#, python-format
+msgid "Unknown method '%(method)s' in compute API"
+msgstr ""
+
+#: nova/cells/messaging.py:694
+#, python-format
+msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
+msgstr ""
+
+#: nova/cells/messaging.py:704
+#, python-format
+msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
+msgstr ""
+
+#: nova/cells/messaging.py:829
+#, python-format
+msgid "Got update for instance: %(instance)s"
+msgstr ""
+
+#: nova/cells/messaging.py:873
+msgid "Got update to delete instance"
+msgstr ""
+
+#: nova/cells/messaging.py:888
+#, python-format
+msgid "Got broadcast to %(delete_type)s delete instance"
+msgstr ""
+
+#: nova/cells/messaging.py:902
+#, python-format
+msgid "Got message to create instance fault: %(instance_fault)s"
+msgstr ""
+
+#: nova/cells/messaging.py:923
+#, python-format
+msgid ""
+"Forcing a sync of instances, project_id=%(projid_str)s, "
+"updated_since=%(since_str)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
+#, python-format
+msgid "Updating parents with our capabilities: %(capabs)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1182
+#, python-format
+msgid "Updating parents with our capacities: %(capacities)s"
+msgstr ""
+
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
+#, python-format
+msgid "Weighted cells: %(weighted_cells)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:149
+#, python-format
+msgid "Scheduling with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
+#, python-format
+msgid "Couldn't communicate with cell '%s'"
+msgstr ""
+
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
+msgid "Couldn't communicate with any cells"
+msgstr ""
+
+#: nova/cells/scheduler.py:189
+#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:259
+#, python-format
+msgid ""
+"No cells available when scheduling. Will retry in %(sleep_time)s "
+"second(s)"
+msgstr ""
+
+#: nova/cells/scheduler.py:265
+#, python-format
+msgid "Error scheduling instances %(instance_uuids)s"
+msgstr ""
+
+#: nova/cells/state.py:272
+msgid "Updating cell cache from db."
+msgstr ""
+
+#: nova/cells/state.py:317
+#, python-format
+msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
+msgstr ""
+
+#: nova/cells/state.py:333
+#, python-format
+msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
+msgstr ""
+
+#: nova/cells/filters/target_cell.py:57
+#, python-format
+msgid ""
+"Forcing direct route to %(cell_name)s because of 'target_cell' scheduler "
+"hint"
+msgstr ""
+
+#: nova/cells/weights/mute_child.py:65
+#, python-format
+msgid ""
+"%(cell)s has not been seen since %(last_seen)s and is being treated as "
+"mute."
+msgstr ""
+
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
+msgstr ""
+
+#: nova/cloudpipe/pipelib.py:53
+msgid "Template for cloudpipe instance boot script"
+msgstr ""
+
+#: nova/cloudpipe/pipelib.py:56
+msgid "Network to push into openvpn config"
+msgstr ""
+
+#: nova/cloudpipe/pipelib.py:59
+msgid "Netmask to push into openvpn config"
+msgstr ""
+
+#: nova/cloudpipe/pipelib.py:128
+#, python-format
+msgid "Launching VPN for %s"
+msgstr ""
+
+#: nova/cmd/all.py:60 nova/cmd/all.py:66 nova/cmd/all.py:89
+#, python-format
+msgid "Failed to load %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
+#, python-format
+msgid "start deployment for node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:252
+#, python-format
+msgid "deployment to node %s failed"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:256
+#, python-format
+msgid "deployment to node %s done"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
+#, python-format
+msgid "Could not read %s. Re-running with sudo"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
+msgid "sudo failed, continuing as if nothing happened"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
+msgid "Please re-run nova-manage as root."
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
+msgid "Command failed, please check log for more info"
+msgstr ""
+
+#: nova/cmd/dhcpbridge.py:46
+msgid "leasing ip"
+msgstr ""
+
+#: nova/cmd/dhcpbridge.py:66
+msgid "releasing ip"
+msgstr ""
+
+#: nova/cmd/dhcpbridge.py:121
+#, python-format
+msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
+msgstr ""
+
+#: nova/cmd/dhcpbridge.py:131
+msgid "Environment variable 'NETWORK_ID' must be set."
+msgstr ""
+
+#: nova/cmd/manage.py:206
+msgid ""
+"The above error may show that the database has not been created.\n"
+"Please create a database using 'nova-manage db sync' before running this "
+"command."
+msgstr ""
+
+#: nova/cmd/manage.py:241
+#, python-format
+msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
+msgstr ""
+
+#: nova/cmd/manage.py:247
+msgid "Quota"
+msgstr ""
+
+#: nova/cmd/manage.py:248
+msgid "Limit"
+msgstr ""
+
+#: nova/cmd/manage.py:249
+msgid "In Use"
+msgstr ""
+
+#: nova/cmd/manage.py:250
+msgid "Reserved"
+msgstr ""
+
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
+#, python-format
+msgid "error: %s"
+msgstr ""
+
+#: nova/cmd/manage.py:298
+msgid "network"
+msgstr ""
+
+#: nova/cmd/manage.py:299
+msgid "IP address"
+msgstr ""
+
+#: nova/cmd/manage.py:300
+msgid "hostname"
+msgstr ""
+
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
+msgid "host"
+msgstr ""
+
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+msgid "No fixed IP found."
+msgstr ""
+
+#: nova/cmd/manage.py:329
+#, python-format
+msgid "WARNING: fixed ip %s allocated to missing instance"
+msgstr ""
+
+#: nova/cmd/manage.py:392
+#, python-format
+msgid ""
+"Too many IP addresses will be generated. Please increase /%s to reduce "
+"the number generated."
+msgstr ""
+
+#: nova/cmd/manage.py:443
+msgid "No floating IP addresses have been defined."
+msgstr ""
+
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
+msgid "id"
+msgstr ""
+
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
+msgid "IPv4"
+msgstr ""
+
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
+msgid "IPv6"
+msgstr ""
+
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
+msgid "start address"
+msgstr ""
+
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
+msgid "DNS1"
+msgstr ""
+
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
+msgid "DNS2"
+msgstr ""
+
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
+msgid "VlanID"
+msgstr ""
+
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
+#: nova/tests/test_nova_manage.py:219
+msgid "project"
+msgstr ""
+
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
+msgid "uuid"
+msgstr ""
+
+#: nova/cmd/manage.py:520
+msgid "No networks found"
+msgstr ""
+
+#: nova/cmd/manage.py:539
+msgid "Please specify either fixed_range or uuid"
+msgstr ""
+
+#: nova/cmd/manage.py:544
+msgid "UUID is required to delete Quantum Networks"
+msgstr ""
+
+#: nova/cmd/manage.py:547
+msgid "Deleting by fixed_range is not supported with the QuantumManager"
+msgstr ""
+
+#: nova/cmd/manage.py:610
+msgid "instance"
+msgstr ""
+
+#: nova/cmd/manage.py:611
+msgid "node"
+msgstr ""
+
+#: nova/cmd/manage.py:612
+msgid "type"
+msgstr ""
+
+#: nova/cmd/manage.py:613
+msgid "state"
+msgstr ""
+
+#: nova/cmd/manage.py:614
+msgid "launched"
+msgstr ""
+
+#: nova/cmd/manage.py:615
+msgid "image"
+msgstr ""
+
+#: nova/cmd/manage.py:616
+msgid "kernel"
+msgstr ""
+
+#: nova/cmd/manage.py:617
+msgid "ramdisk"
+msgstr ""
+
+#: nova/cmd/manage.py:619
+msgid "user"
+msgstr ""
+
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
+msgid "zone"
+msgstr ""
+
+#: nova/cmd/manage.py:621
+msgid "index"
+msgstr ""
+
+#: nova/cmd/manage.py:665
+msgid "Binary"
+msgstr ""
+
+#: nova/cmd/manage.py:666
+msgid "Host"
+msgstr ""
+
+#: nova/cmd/manage.py:667
+msgid "Zone"
+msgstr ""
+
+#: nova/cmd/manage.py:668
+msgid "Status"
+msgstr ""
+
+#: nova/cmd/manage.py:669
+msgid "State"
+msgstr ""
+
+#: nova/cmd/manage.py:670
+msgid "Updated_At"
+msgstr ""
+
+#: nova/cmd/manage.py:692
+#, python-format
+msgid "Service %(service)s on host %(host)s enabled."
+msgstr ""
+
+#: nova/cmd/manage.py:705
+#, python-format
+msgid "Service %(service)s on host %(host)s disabled."
+msgstr ""
+
+#: nova/cmd/manage.py:772
+msgid "An unexpected error has occurred."
+msgstr ""
+
+#: nova/cmd/manage.py:773
+msgid "[Result]"
+msgstr ""
+
+#: nova/cmd/manage.py:777
+msgid "HOST"
+msgstr ""
+
+#: nova/cmd/manage.py:778
+msgid "PROJECT"
+msgstr ""
+
+#: nova/cmd/manage.py:779
+msgid "cpu"
+msgstr ""
+
+#: nova/cmd/manage.py:780
+msgid "mem(mb)"
+msgstr ""
+
+#: nova/cmd/manage.py:781
+msgid "hdd"
+msgstr ""
+
+#: nova/cmd/manage.py:864
+msgid "Must supply a positive value for max_rows"
+msgstr ""
+
+#: nova/cmd/manage.py:903
+msgid "Must supply valid parameters to create instance_type"
+msgstr ""
+
+#: nova/cmd/manage.py:907
+msgid "Instance Type exists."
+msgstr ""
+
+#: nova/cmd/manage.py:908
+msgid "Please ensure instance_type name and flavorid are unique."
+msgstr ""
+
+#: nova/cmd/manage.py:910
+msgid "Currently defined instance_type names and flavorids:"
+msgstr ""
+
+#: nova/cmd/manage.py:915
+msgid "Unknown error"
+msgstr ""
+
+#: nova/cmd/manage.py:918
+#, python-format
+msgid "%s created"
+msgstr ""
+
+#: nova/cmd/manage.py:926
+msgid "Valid instance type name is required"
+msgstr ""
+
+#: nova/cmd/manage.py:929
+#, python-format
+msgid "DB Error: %s"
+msgstr ""
+
+#: nova/cmd/manage.py:934
+#, python-format
+msgid "%s deleted"
+msgstr ""
+
+#: nova/cmd/manage.py:970
+#, python-format
+msgid "Key %(key)s set to %(value)s on instance type %(name)s"
+msgstr ""
+
+#: nova/cmd/manage.py:992
+#, python-format
+msgid "Key %(key)s on instance type %(name)s unset"
+msgstr ""
+
+#: nova/cmd/manage.py:1037
+#, python-format
+msgid "Hypervisor: %s"
+msgstr ""
+
+#: nova/cmd/manage.py:1078
+#, python-format
+msgid "Line %(linenum)d : %(line)s"
+msgstr ""
+
+#: nova/cmd/manage.py:1080
+msgid "No errors in logfiles!"
+msgstr ""
+
+#: nova/cmd/manage.py:1092
+msgid "Unable to find system log file!"
+msgstr ""
+
+#: nova/cmd/manage.py:1096
+#, python-format
+msgid "Last %s nova syslog entries:-"
+msgstr ""
+
+#: nova/cmd/manage.py:1105
+msgid "No nova entries in syslog!"
+msgstr ""
+
+#: nova/compute/__init__.py:61
+msgid ""
+"The compute_api_class is now deprecated and will be removed in next "
+"release. Please set the cell_type option to api or compute"
+msgstr ""
+
+#: nova/compute/__init__.py:74
+msgid "cell_type must be configured as 'api' or 'compute'"
+msgstr ""
+
+#: nova/compute/api.py:302
+msgid "Cannot run any more instances of this type."
+msgstr ""
+
+#: nova/compute/api.py:309
+#, python-format
+msgid "Can only run %s more instances of this type."
+msgstr ""
+
+#: nova/compute/api.py:318
+#, python-format
+msgid ""
+"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
+"instances. %(msg)s"
+msgstr ""
+
+#: nova/compute/api.py:338
+#, python-format
+msgid ""
+"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
+"properties"
+msgstr ""
+
+#: nova/compute/api.py:348
+msgid "Metadata property key blank"
+msgstr ""
+
+#: nova/compute/api.py:352
+msgid "Metadata property key greater than 255 characters"
+msgstr ""
+
+#: nova/compute/api.py:356
+msgid "Metadata property value greater than 255 characters"
+msgstr ""
+
+#: nova/compute/api.py:489
+msgid "Failed to set instance name using multi_instance_display_name_template."
+msgstr ""
+
+#: nova/compute/api.py:571
+msgid "Cannot attach one or more volumes to multiple instances"
+msgstr ""
+
+#: nova/compute/api.py:667
+#, python-format
+msgid "Going to run %s instances..."
+msgstr ""
+
+#: nova/compute/api.py:812
+#, python-format
+msgid "bdm %s"
+msgstr ""
+
+#: nova/compute/api.py:839
+#, python-format
+msgid "block_device_mapping %s"
+msgstr ""
+
+#: nova/compute/api.py:1122
+msgid "instance termination disabled"
+msgstr ""
+
+#: nova/compute/api.py:1258
+#, python-format
+msgid "instance type %(old_inst_type_id)d not found"
+msgstr ""
+
+#: nova/compute/api.py:1264
+msgid "going to delete a resizing instance"
+msgstr ""
+
+#: nova/compute/api.py:1274
+#, python-format
+msgid "instance's host %s is down, deleting from database"
+msgstr ""
+
+#: nova/compute/api.py:1318
+msgid "Going to try to soft delete instance"
+msgstr ""
+
+#: nova/compute/api.py:1343
+msgid "Going to try to terminate instance"
+msgstr ""
+
+#: nova/compute/api.py:1394
+msgid "Going to try to stop instance"
+msgstr ""
+
+#: nova/compute/api.py:1410
+msgid "Going to try to start instance"
+msgstr ""
+
+#: nova/compute/api.py:1482
+#, python-format
+msgid "Searching by: %s"
+msgstr ""
+
+#: nova/compute/api.py:1719
+#, python-format
+msgid "snapshot for %s"
+msgstr ""
+
+#: nova/compute/api.py:2057
+msgid "flavor_id is None. Assuming migration."
+msgstr ""
+
+#: nova/compute/api.py:2066
+#, python-format
+msgid ""
+"Old instance type %(current_instance_type_name)s, new instance type "
+"%(new_instance_type_name)s"
+msgstr ""
+
+#: nova/compute/api.py:2114
+#, python-format
+msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
+msgstr ""
+
+#: nova/compute/api.py:2253
+msgid "Cannot rescue a volume-backed instance"
+msgstr ""
+
+#: nova/compute/api.py:2358
+msgid "Locking"
+msgstr ""
+
+#: nova/compute/api.py:2366
+msgid "Unlocking"
+msgstr ""
+
+#: nova/compute/api.py:2438
+msgid "Volume must be attached in order to detach."
+msgstr ""
+
+#: nova/compute/api.py:2552
+#, python-format
+msgid "Going to try to live migrate instance to %s"
+msgstr ""
+
+#: nova/compute/api.py:2574
+msgid "vm evacuation scheduled"
+msgstr ""
+
+#: nova/compute/api.py:2578
+#, python-format
+msgid ""
+"Instance compute service state on %(inst_host)s expected to be down, but "
+"it was up."
+msgstr ""
+
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
+msgid "Keypair name contains unsafe characters"
+msgstr ""
+
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
+#: nova/tests/compute/test_keypairs.py:104
+msgid "Keypair name must be between 1 and 255 characters long"
+msgstr ""
+
+#: nova/compute/api.py:2912
+#, python-format
+msgid "Security group %s is not a string or unicode"
+msgstr ""
+
+#: nova/compute/api.py:2915
+#, python-format
+msgid "Security group %s cannot be empty."
+msgstr ""
+
+#: nova/compute/api.py:2923
+#, python-format
+msgid ""
+"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
+"limited to '%(allowed)'."
+msgstr ""
+
+#: nova/compute/api.py:2929
+#, python-format
+msgid "Security group %s should not be greater than 255 characters."
+msgstr ""
+
+#: nova/compute/api.py:2947
+msgid "Quota exceeded, too many security groups."
+msgstr ""
+
+#: nova/compute/api.py:2950
+#, python-format
+msgid "Create Security Group %s"
+msgstr ""
+
+#: nova/compute/api.py:2957
+#, python-format
+msgid "Security group %s already exists"
+msgstr ""
+
+#: nova/compute/api.py:2976
+#, python-format
+msgid "Unable to update system group '%s'"
+msgstr ""
+
+#: nova/compute/api.py:3036
+#, python-format
+msgid "Unable to delete system group '%s'"
+msgstr ""
+
+#: nova/compute/api.py:3041
+msgid "Security group is still in use"
+msgstr ""
+
+#: nova/compute/api.py:3049
+msgid "Failed to update usages deallocating security group"
+msgstr ""
+
+#: nova/compute/api.py:3052
+#, python-format
+msgid "Delete security group %s"
+msgstr ""
+
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
+#, python-format
+msgid "Rule (%s) not found"
+msgstr ""
+
+#: nova/compute/api.py:3145
+msgid "Quota exceeded, too many security group rules."
+msgstr ""
+
+#: nova/compute/api.py:3148
+#, python-format
+msgid "Authorize security group ingress %s"
+msgstr ""
+
+#: nova/compute/api.py:3157
+#, python-format
+msgid "Revoke security group ingress %s"
+msgstr ""
+
+#: nova/compute/api.py:3210
+msgid "Security group id should be integer"
+msgstr ""
+
+#: nova/compute/claims.py:91 nova/compute/claims.py:219
+#, python-format
+msgid "Aborting claim: %s"
+msgstr ""
+
+#: nova/compute/claims.py:113
+#, python-format
+msgid ""
+"Attempting claim: memory %(memory_mb)d MB, disk %(disk_gb)d GB, VCPUs "
+"%(vcpus)d"
+msgstr ""
+
+#: nova/compute/claims.py:125
+msgid "Claim successful"
+msgstr ""
+
+#: nova/compute/claims.py:127
+msgid "Claim failed"
+msgstr ""
+
+#: nova/compute/claims.py:132
+msgid "Memory"
+msgstr ""
+
+#: nova/compute/claims.py:141
+msgid "Disk"
+msgstr ""
+
+#: nova/compute/claims.py:150
+msgid "CPU"
+msgstr ""
+
+#: nova/compute/claims.py:162
+#, python-format
+msgid "Total %(type)s: %(total)d %(unit)s, used: %(used).02f %(unit)s"
+msgstr ""
+
+#: nova/compute/claims.py:169
+#, python-format
+msgid "%(type)s limit not specified, defaulting to unlimited"
+msgstr ""
+
+#: nova/compute/claims.py:176
+#, python-format
+msgid "%(type)s limit: %(limit).02f %(unit)s, free: %(free).02f %(unit)s"
+msgstr ""
+
+#: nova/compute/claims.py:184
+#, python-format
+msgid ""
+"Unable to claim resources. Free %(type)s %(free).02f %(unit)s < "
+"requested %(requested)d %(unit)s"
+msgstr ""
+
+#: nova/compute/flavors.py:92
+msgid "names can only contain [a-zA-Z0-9_.- ]"
+msgstr ""
+
+#: nova/compute/flavors.py:101
+#, python-format
+msgid "'%s' argument must be a positive integer"
+msgstr ""
+
+#: nova/compute/flavors.py:110
+#, python-format
+msgid "'%s' argument must be an integer greater than or equal to 0"
+msgstr ""
+
+#: nova/compute/flavors.py:119
+msgid "'rxtx_factor' argument must be a positive float"
+msgstr ""
+
+#: nova/compute/flavors.py:132
+msgid "is_public must be a boolean"
+msgstr ""
+
+#: nova/compute/flavors.py:137
+#, python-format
+msgid "DB error: %s"
+msgstr ""
+
+#: nova/compute/flavors.py:147
+#, python-format
+msgid "Instance type %s not found for deletion"
+msgstr ""
+
+#: nova/compute/manager.py:210
+msgid "Possibly task preempted."
+msgstr ""
+
+#: nova/compute/manager.py:383
+#, python-format
+msgid "%s is not a valid node managed by this compute host."
+msgstr ""
+
+#: nova/compute/manager.py:411
+msgid "Instance has been destroyed from under us while trying to set it to ERROR"
+msgstr ""
+
+#: nova/compute/manager.py:461
+#, python-format
+msgid ""
+"Deleting instance as its host (%(instance_host)s) is not equal to our "
+"host (%(our_host)s)."
+msgstr ""
+
+#: nova/compute/manager.py:477
+msgid "Instance has been marked deleted already, removing it from the hypervisor."
+msgstr ""
+
+#: nova/compute/manager.py:498
+msgid ""
+"Hypervisor driver does not support instance shared storage check, "
+"assuming it's not on shared storage"
+msgstr ""
+
+#: nova/compute/manager.py:504
+msgid "Failed to check if instance shared"
+msgstr ""
+
+#: nova/compute/manager.py:546
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:572
+msgid "Failed to revert crashed migration"
+msgstr ""
+
+#: nova/compute/manager.py:575
+msgid "Instance found in migrating state during startup. Resetting task_state"
+msgstr ""
+
+#: nova/compute/manager.py:586
+#, python-format
+msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
+msgstr ""
+
+#: nova/compute/manager.py:592
+msgid "Rebooting instance after nova-compute restart."
+msgstr ""
+
+#: nova/compute/manager.py:606
+msgid "Hypervisor driver does not support resume guests"
+msgstr ""
+
+#: nova/compute/manager.py:611
+msgid "Failed to resume instance"
+msgstr ""
+
+#: nova/compute/manager.py:621
+msgid "Hypervisor driver does not support firewall rules"
+msgstr ""
+
+#: nova/compute/manager.py:625
+#, python-format
+msgid "Lifecycle event %(state)d on VM %(uuid)s"
+msgstr ""
+
+#: nova/compute/manager.py:641
+#, python-format
+msgid "Unexpected power state %d"
+msgstr ""
+
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
+#, python-format
+msgid "Ignoring event %s"
+msgstr ""
+
+#: nova/compute/manager.py:695
+msgid "Checking state"
+msgstr ""
+
+#: nova/compute/manager.py:793
+#, python-format
+msgid "Volume id: %s finished being created but was not set as 'available'"
+msgstr ""
+
+#: nova/compute/manager.py:810
+#, python-format
+msgid "Setting up bdm %s"
+msgstr ""
+
+#: nova/compute/manager.py:911
+msgid "Success"
+msgstr ""
+
+#: nova/compute/manager.py:934
+msgid "Instance disappeared before we could start it"
+msgstr ""
+
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
+#, python-format
+msgid "No node specified, defaulting to %s"
+msgstr ""
+
+#: nova/compute/manager.py:1005
+msgid "Failed to dealloc network for deleted instance"
+msgstr ""
+
+#: nova/compute/manager.py:1014
+msgid "Instance was deleted during spawn."
+msgstr ""
+
+#: nova/compute/manager.py:1045
+#, python-format
+msgid "Error: %s"
+msgstr ""
+
+#: nova/compute/manager.py:1062
+msgid "Clean up resource before rescheduling."
+msgstr ""
+
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
+msgid "Error trying to reschedule"
+msgstr ""
+
+#: nova/compute/manager.py:1100
+msgid "Retry info not present, will not reschedule"
+msgstr ""
+
+#: nova/compute/manager.py:1105
+msgid "No request spec, will not reschedule"
+msgstr ""
+
+#: nova/compute/manager.py:1111
+#, python-format
+msgid "Re-scheduling %(method)s: attempt %(num)d"
+msgstr ""
+
+#: nova/compute/manager.py:1140
+msgid "Instance build timed out. Set to error state."
+msgstr ""
+
+#: nova/compute/manager.py:1150
+msgid "Starting instance..."
+msgstr ""
+
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
+msgstr ""
+
+#: nova/compute/manager.py:1181
+#, python-format
+msgid "Instance network_info: |%s|"
+msgstr ""
+
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
+msgid "Instance failed block device setup"
+msgstr ""
+
+#: nova/compute/manager.py:1245
+msgid "Instance failed to spawn"
+msgstr ""
+
+#: nova/compute/manager.py:1296
+msgid "Deallocating network for instance"
+msgstr ""
+
+#: nova/compute/manager.py:1370
+msgid "Failed to deallocate network for instance."
+msgstr ""
+
+#: nova/compute/manager.py:1377
+#, python-format
+msgid "%(action_str)s instance"
+msgstr ""
+
+#: nova/compute/manager.py:1420
+#, python-format
+msgid "Ignoring DiskNotFound: %s"
+msgstr ""
+
+#: nova/compute/manager.py:1423
+#, python-format
+msgid "Ignoring VolumeNotFound: %s"
+msgstr ""
+
+#: nova/compute/manager.py:1430
+#, python-format
+msgid "terminating bdm %s"
+msgstr ""
+
+#: nova/compute/manager.py:1478
+#, python-format
+msgid "Ignoring volume cleanup failure due to %s"
+msgstr ""
+
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
+#, python-format
+msgid "%s. Setting instance vm_state to ERROR"
+msgstr ""
+
+#: nova/compute/manager.py:1704
+msgid "Rebuilding instance"
+msgstr ""
+
+#: nova/compute/manager.py:1717
+msgid "Invalid state of instance files on shared storage"
+msgstr ""
+
+#: nova/compute/manager.py:1721
+msgid "disk on shared storage, recreating using existing disk"
+msgstr ""
+
+#: nova/compute/manager.py:1725
+#, python-format
+msgid "disk not on shared storagerebuilding from: '%s'"
+msgstr ""
+
+#: nova/compute/manager.py:1808
+#, python-format
+msgid "bringing vm to original state: '%s'"
+msgstr ""
+
+#: nova/compute/manager.py:1840
+#, python-format
+msgid "Detaching from volume api: %s"
+msgstr ""
+
+#: nova/compute/manager.py:1858
+msgid "Rebooting instance"
+msgstr ""
+
+#: nova/compute/manager.py:1877
+#, python-format
+msgid ""
+"trying to reboot a non-running instance: (state: %(state)s expected: "
+"%(running)s)"
+msgstr ""
+
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
+#, python-format
+msgid "Cannot reboot instance: %(error)s"
+msgstr ""
+
+#: nova/compute/manager.py:1929
+msgid "Instance disappeared during reboot"
+msgstr ""
+
+#: nova/compute/manager.py:1956
+msgid "instance snapshotting"
+msgstr ""
+
+#: nova/compute/manager.py:1962
+#, python-format
+msgid ""
+"trying to snapshot a non-running instance: (state: %(state)s expected: "
+"%(running)s)"
+msgstr ""
+
+#: nova/compute/manager.py:2023
+#, python-format
+msgid "Found %(num_images)d images (rotation: %(rotation)d)"
+msgstr ""
+
+#: nova/compute/manager.py:2031
+#, python-format
+msgid "Rotating out %d backups"
+msgstr ""
+
+#: nova/compute/manager.py:2036
+#, python-format
+msgid "Deleting image %s"
+msgstr ""
+
+#: nova/compute/manager.py:2064
+#, python-format
+msgid "Failed to set admin password. Instance %s is not running"
+msgstr ""
+
+#: nova/compute/manager.py:2071
+msgid "Root password set"
+msgstr ""
+
+#: nova/compute/manager.py:2078
+msgid "set_admin_password is not implemented by this driver or guest instance."
+msgstr ""
+
+#: nova/compute/manager.py:2093
+#, python-format
+msgid "set_admin_password failed: %s"
+msgstr ""
+
+#: nova/compute/manager.py:2100
+msgid "error setting admin password"
+msgstr ""
+
+#: nova/compute/manager.py:2113
+#, python-format
+msgid ""
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
+msgstr ""
+
+#: nova/compute/manager.py:2118
+#, python-format
+msgid "injecting file to %s"
+msgstr ""
+
+#: nova/compute/manager.py:2138
+msgid ""
+"Unable to find a different image to use for rescue VM, using instance's "
+"current image"
+msgstr ""
+
+#: nova/compute/manager.py:2151
+msgid "Rescuing"
+msgstr ""
+
+#: nova/compute/manager.py:2170
+msgid "Error trying to Rescue Instance"
+msgstr ""
+
+#: nova/compute/manager.py:2174
+#, python-format
+msgid "Driver Error: %s"
+msgstr ""
+
+#: nova/compute/manager.py:2192
+msgid "Unrescuing"
+msgstr ""
+
+#: nova/compute/manager.py:2213
+#, python-format
+msgid "Changing instance metadata according to %r"
+msgstr ""
+
+#: nova/compute/manager.py:2435
+#, python-format
+msgid "Updating instance to original state: '%s'"
+msgstr ""
+
+#: nova/compute/manager.py:2469
+msgid "Instance has no source host"
+msgstr ""
+
+#: nova/compute/manager.py:2475
+msgid "destination same as source!"
+msgstr ""
+
+#: nova/compute/manager.py:2496
+msgid "Migrating"
+msgstr ""
+
+#: nova/compute/manager.py:2747
+#, python-format
+msgid "Failed to rollback quota for failed finish_resize: %s"
+msgstr ""
+
+#: nova/compute/manager.py:2810
+msgid "Pausing"
+msgstr ""
+
+#: nova/compute/manager.py:2828
+msgid "Unpausing"
+msgstr ""
+
+#: nova/compute/manager.py:2867
+msgid "Retrieving diagnostics"
+msgstr ""
+
+#: nova/compute/manager.py:2898
+msgid "Resuming"
+msgstr ""
+
+#: nova/compute/manager.py:2918
+msgid "Reset network"
+msgstr ""
+
+#: nova/compute/manager.py:2923
+msgid "Inject network info"
+msgstr ""
+
+#: nova/compute/manager.py:2926
+#, python-format
+msgid "network_info to inject: |%s|"
+msgstr ""
+
+#: nova/compute/manager.py:2943
+msgid "Get console output"
+msgstr ""
+
+#: nova/compute/manager.py:2970
+msgid "Getting vnc console"
+msgstr ""
+
+#: nova/compute/manager.py:3005
+msgid "Getting spice console"
+msgstr ""
+
+#: nova/compute/manager.py:3053
+#, python-format
+msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
+msgstr ""
+
+#: nova/compute/manager.py:3104
+#, python-format
+msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
+msgstr ""
+
+#: nova/compute/manager.py:3114
+#, python-format
+msgid ""
+"Failed to connect to volume %(volume_id)s while attaching at "
+"%(mountpoint)s"
+msgstr ""
+
+#: nova/compute/manager.py:3130
+#, python-format
+msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
+msgstr ""
+
+#: nova/compute/manager.py:3161
+#, python-format
+msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
+msgstr ""
+
+#: nova/compute/manager.py:3172
+msgid "Detaching volume from unknown instance"
+msgstr ""
+
+#: nova/compute/manager.py:3179
+#, python-format
+msgid "Failed to detach volume %(volume_id)s from %(mp)s"
+msgstr ""
+
+#: nova/compute/manager.py:3203
+msgid "Updating volume usage cache with totals"
+msgstr ""
+
+#: nova/compute/manager.py:3239
+#, python-format
+msgid "allocate_port_for_instance returned %(ports)s ports"
+msgstr ""
+
+#: nova/compute/manager.py:3259
+#, python-format
+msgid "Port %s is not attached"
+msgstr ""
+
+#: nova/compute/manager.py:3273
+#, python-format
+msgid "Host %s not found"
+msgstr ""
+
+#: nova/compute/manager.py:3426
+#, python-format
+msgid "Pre live migration failed at %s"
+msgstr ""
+
+#: nova/compute/manager.py:3454
+msgid "_post_live_migration() is started.."
+msgstr ""
+
+#: nova/compute/manager.py:3509
+#, python-format
+msgid "Migrating instance to %s finished successfully."
+msgstr ""
+
+#: nova/compute/manager.py:3511
+msgid ""
+"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
+"with matching name.\" This error can be safely ignored."
+msgstr ""
+
+#: nova/compute/manager.py:3526
+msgid "Post operation of migration started"
+msgstr ""
+
+#: nova/compute/manager.py:3558
+#, python-format
+msgid "Failed to get compute_info for %s"
+msgstr ""
+
+#: nova/compute/manager.py:3687
+msgid "Updated the info_cache for instance"
+msgstr ""
+
+#: nova/compute/manager.py:3739
+#, python-format
+msgid ""
+"Found %(migration_count)d unconfirmed migrations older than "
+"%(confirm_window)d seconds"
+msgstr ""
+
+#: nova/compute/manager.py:3744
+#, python-format
+msgid "Setting migration %(migration_id)s to error: %(reason)s"
+msgstr ""
+
+#: nova/compute/manager.py:3753
+#, python-format
+msgid ""
+"Automatically confirming migration %(migration_id)s for instance "
+"%(instance_uuid)s"
+msgstr ""
+
+#: nova/compute/manager.py:3761
+#, python-format
+msgid "Instance %s not found"
+msgstr ""
+
+#: nova/compute/manager.py:3766
+msgid "In ERROR state"
+msgstr ""
+
+#: nova/compute/manager.py:3773
+#, python-format
+msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
+msgstr ""
+
+#: nova/compute/manager.py:3784
+#, python-format
+msgid "Error auto-confirming resize: %s. Will retry later."
+msgstr ""
+
+#: nova/compute/manager.py:3800
+#, python-format
+msgid ""
+"Running instance usage audit for host %(host)s from %(begin_time)s to "
+"%(end_time)s. %(number_instances)s instances."
+msgstr ""
+
+#: nova/compute/manager.py:3820
+#, python-format
+msgid "Failed to generate usage audit for instance on host %s"
+msgstr ""
+
+#: nova/compute/manager.py:3844
+msgid "Updating bandwidth usage cache"
+msgstr ""
+
+#: nova/compute/manager.py:3947
+msgid "Updating volume usage cache"
+msgstr ""
+
+#: nova/compute/manager.py:3961
+msgid "Updating host status"
+msgstr ""
+
+#: nova/compute/manager.py:3988
+#, python-format
+msgid ""
+"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
+"the hypervisor."
+msgstr ""
+
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
+msgid "During sync_power_state the instance has a pending task. Skip."
+msgstr ""
+
+#: nova/compute/manager.py:4031
+#, python-format
+msgid ""
+"During the sync_power process the instance has moved from host %(src)s to"
+" host %(dst)s"
+msgstr ""
+
+#: nova/compute/manager.py:4068
+msgid "Instance shutdown by itself. Calling the stop API."
+msgstr ""
+
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
+msgid "error during stop() in sync_power_state."
+msgstr ""
+
+#: nova/compute/manager.py:4084
+msgid "Instance is suspended unexpectedly. Calling the stop API."
+msgstr ""
+
+#: nova/compute/manager.py:4100
+msgid "Instance is paused unexpectedly. Ignore."
+msgstr ""
+
+#: nova/compute/manager.py:4106
+msgid "Instance is unexpectedly not found. Ignore."
+msgstr ""
+
+#: nova/compute/manager.py:4112
+msgid "Instance is not stopped. Calling the stop API."
+msgstr ""
+
+#: nova/compute/manager.py:4128
+msgid "Instance is not (soft-)deleted."
+msgstr ""
+
+#: nova/compute/manager.py:4136
+msgid "CONF.reclaim_instance_interval <= 0, skipping..."
+msgstr ""
+
+#: nova/compute/manager.py:4149
+msgid "Reclaiming deleted instance"
+msgstr ""
+
+#: nova/compute/manager.py:4176
+#, python-format
+msgid "Deleting orphan compute node %s"
+msgstr ""
+
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
+#, python-format
+msgid "No service record for host %s"
+msgstr ""
+
+#: nova/compute/manager.py:4226
+#, python-format
+msgid ""
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
+msgstr ""
+
+#: nova/compute/manager.py:4232
+#, python-format
+msgid ""
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
+msgstr ""
+
+#: nova/compute/manager.py:4239
+#, python-format
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
+msgstr ""
+
+#: nova/compute/manager.py:4266
+#, python-format
+msgid "Setting instance back to ACTIVE after: %s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:92
+msgid ""
+"Host field should not be set on the instance until resources have been "
+"claimed."
+msgstr ""
+
+#: nova/compute/resource_tracker.py:97
+msgid ""
+"Node field should be not be set on the instance until resources have been"
+" claimed."
+msgstr ""
+
+#: nova/compute/resource_tracker.py:244
+msgid "Auditing locally available compute resources"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:249
+msgid ""
+"Virt driver does not support 'get_available_resource' Compute tracking "
+"is disabled."
+msgstr ""
+
+#: nova/compute/resource_tracker.py:301
+#, python-format
+msgid "Compute_service record created for %(host)s:%(node)s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:307
+#, python-format
+msgid "Compute_service record updated for %(host)s:%(node)s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:331
+#, python-format
+msgid "Hypervisor: free ram (MB): %s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:332
+#, python-format
+msgid "Hypervisor: free disk (GB): %s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:337
+#, python-format
+msgid "Hypervisor: free VCPUs: %s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:339
+msgid "Hypervisor: VCPU information unavailable"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:346
+#, python-format
+msgid "Free ram (MB): %s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:347
+#, python-format
+msgid "Free disk (GB): %s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:352
+#, python-format
+msgid "Free VCPUS: %s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:354
+msgid "Free VCPU information unavailable"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:383
+#, python-format
+msgid "Updating from migration %s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:443
+msgid "Instance not resizing, skipping migration."
+msgstr ""
+
+#: nova/compute/resource_tracker.py:458
+msgid "InstanceType could not be found, skipping migration."
+msgstr ""
+
+#: nova/compute/resource_tracker.py:542
+#, python-format
+msgid ""
+"Detected running orphan instance: %(uuid)s (consuming %(memory_mb)s MB "
+"memory"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:555
+#, python-format
+msgid "Missing keys: %s"
+msgstr ""
+
+#: nova/compute/rpcapi.py:58
+msgid "No compute host specified"
+msgstr ""
+
+#: nova/compute/rpcapi.py:61
+#, python-format
+msgid "Unable to find host for Instance %s"
+msgstr ""
+
+#: nova/compute/utils.py:141
+#, python-format
+msgid "Using %(prefix)s instead of %(req_prefix)s"
+msgstr ""
+
+#: nova/conductor/api.py:399
+msgid ""
+"Timed out waiting for nova-conductor. Is it running? Or did this service "
+"start before nova-conductor?"
+msgstr ""
+
+#: nova/conductor/manager.py:116
+#, python-format
+msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
+msgstr ""
+
+#: nova/conductor/manager.py:322
+msgid "Invalid block_device_mapping_destroy invocation"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
+#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
+msgid "Adding console"
+msgstr ""
+
+#: nova/console/manager.py:101 nova/console/vmrc_manager.py:113
+#, python-format
+msgid "Tried to remove non-existent console %(console_id)s."
+msgstr ""
+
+#: nova/console/vmrc_manager.py:116
+#, python-format
+msgid "Removing console %(console_id)s."
+msgstr ""
+
+#: nova/console/websocketproxy.py:54
+msgid "Invalid Token"
+msgstr ""
+
+#: nova/console/websocketproxy.py:73
+msgid "Invalid Connection Info"
+msgstr ""
+
+#: nova/console/xvp.py:100
+msgid "Rebuilding xvp conf"
+msgstr ""
+
+#: nova/console/xvp.py:119
+#, python-format
+msgid "Re-wrote %s"
+msgstr ""
+
+#: nova/console/xvp.py:124
+msgid "Failed to write configuration file"
+msgstr ""
+
+#: nova/console/xvp.py:127
+msgid "Stopping xvp"
+msgstr ""
+
+#: nova/console/xvp.py:140
+msgid "Starting xvp"
+msgstr ""
+
+#: nova/console/xvp.py:147
+#, python-format
+msgid "Error starting xvp: %s"
+msgstr ""
+
+#: nova/console/xvp.py:150
+msgid "Restarting xvp"
+msgstr ""
+
+#: nova/console/xvp.py:152
+msgid "xvp not running..."
+msgstr ""
+
+#: nova/console/xvp.py:203
+msgid "Failed to run xvp."
+msgstr ""
+
+#: nova/consoleauth/manager.py:89
+#, python-format
+msgid "Received Token: %(token)s, %(token_dict)s)"
+msgstr ""
+
+#: nova/consoleauth/manager.py:113
+#, python-format
+msgid "Checking Token: %(token)s, %(token_valid)s)"
+msgstr ""
+
+#: nova/db/api.py:592
+msgid "Failed to notify cells of instance destroy"
+msgstr ""
+
+#: nova/db/api.py:674 nova/db/api.py:695
+msgid "Failed to notify cells of instance update"
+msgstr ""
+
+#: nova/db/api.py:1551
+msgid "Failed to notify cells of bw_usage update"
+msgstr ""
+
+#: nova/db/api.py:1690
+msgid "Failed to notify cells of instance fault"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:160
+#, python-format
+msgid "Deadlock detected when running '%(func_name)s': Retrying..."
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:195
+msgid "model or base_model parameter should be subclass of NovaBase"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:208 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#, python-format
+msgid "Unrecognized read_deleted value '%s'"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:649
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:870
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1332
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1425
+#, python-format
+msgid ""
+"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
+"empty, \"global\" or \"project\""
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1560
+#, python-format
+msgid "Invalid instance id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:2915
+#, python-format
+msgid "Change will make usage less than 0 for the following resources: %(unders)s"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:4451
+#, python-format
+msgid ""
+"Volume(%s) has lower stats then what is in the database. Instance must "
+"have been rebooted or crashed. Updating totals."
+msgstr ""
+
+#: nova/db/sqlalchemy/migration.py:69
+#: nova/virt/baremetal/db/sqlalchemy/migration.py:66
+msgid "version should be an integer"
+msgstr ""
+
+#: nova/db/sqlalchemy/migration.py:96
+#: nova/virt/baremetal/db/sqlalchemy/migration.py:94
+msgid "Upgrade DB using Essex release first."
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:77
+#, python-format
+msgid ""
+"Please specify column %s in col_name_col_instance param. It is required "
+"because column has unsupported type by sqlite)."
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:83
+#, python-format
+msgid ""
+"col_name_col_instance param has wrong type of column instance for column "
+"%s It should be instance of sqlalchemy.Column."
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:220
+#, python-format
+msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:254
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:260
+#, python-format
+msgid ""
+"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
+"%(shadow_c_type)s"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:269
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:289
+msgid "Specify `table_name` or `table` param"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:292
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
+#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
+#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
+msgid "Exception while creating table."
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:326
+msgid "Unsupported id columns type"
+msgstr ""
+
+#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
+msgid "Exception while seeding instance_types table"
+msgstr ""
+
+#: nova/db/sqlalchemy/migrate_repo/versions/145_add_volume_usage_cache.py:68
+msgid "volume_usage_cache table not dropped"
+msgstr ""
+
+#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:77
+#, python-format
+msgid "table '%s' not dropped"
+msgstr ""
+
+#: nova/image/glance.py:187
+#, python-format
+msgid ""
+"Error contacting glance server '%(host)s:%(port)s' for '%(method)s', "
+"%(extra)s."
+msgstr ""
+
+#: nova/image/glance.py:496
+#, python-format
+msgid "fetching image %s from glance"
+msgstr ""
+
+#: nova/image/s3.py:332
+#, python-format
+msgid "Failed to download %(image_location)s to %(image_path)s"
+msgstr ""
+
+#: nova/image/s3.py:349
+#, python-format
+msgid "Failed to decrypt %(image_location)s to %(image_path)s"
+msgstr ""
+
+#: nova/image/s3.py:360
+#, python-format
+msgid "Failed to untar %(image_location)s to %(image_path)s"
+msgstr ""
+
+#: nova/image/s3.py:370
+#, python-format
+msgid "Failed to upload %(image_location)s to %(image_path)s"
+msgstr ""
+
+#: nova/image/s3.py:382
+#, python-format
+msgid "Image %s was deleted underneath us"
+msgstr ""
+
+#: nova/image/s3.py:397
+#, python-format
+msgid "Failed to decrypt private key: %s"
+msgstr ""
+
+#: nova/image/s3.py:404
+#, python-format
+msgid "Failed to decrypt initialization vector: %s"
+msgstr ""
+
+#: nova/image/s3.py:415
+#, python-format
+msgid "Failed to decrypt image file %(image_file)s: %(err)s"
+msgstr ""
+
+#: nova/image/s3.py:427
+msgid "Unsafe filenames in image"
+msgstr ""
+
+#: nova/ipv6/account_identifier.py:38 nova/ipv6/rfc2462.py:34
+#, python-format
+msgid "Bad mac for to_global_ipv6: %s"
+msgstr ""
+
+#: nova/ipv6/account_identifier.py:40 nova/ipv6/rfc2462.py:36
+#, python-format
+msgid "Bad prefix for to_global_ipv6: %s"
+msgstr ""
+
+#: nova/ipv6/account_identifier.py:42
+#, python-format
+msgid "Bad project_id for to_global_ipv6: %s"
+msgstr ""
+
+#: nova/network/api.py:56
+msgid "instance is a required argument to use @refresh_cache"
+msgstr ""
+
+#: nova/network/api.py:90
+msgid "Failed to notify cells of instance info cache update"
+msgstr ""
+
+#: nova/network/api.py:93
+msgid "Failed storing info cache"
+msgstr ""
+
+#: nova/network/api.py:248
+#, python-format
+msgid "re-assign floating IP %(address)s from instance %(instance_id)s"
+msgstr ""
+
+#: nova/network/driver.py:40
+msgid "Network driver option required, but not specified"
+msgstr ""
+
+#: nova/network/driver.py:43
+#, python-format
+msgid "Loading network driver '%s'"
+msgstr ""
+
+#: nova/network/floating_ips.py:88
+#, python-format
+msgid "Fixed ip %(fixed_ip_id)s not found"
+msgstr ""
+
+#: nova/network/floating_ips.py:98 nova/network/floating_ips.py:374
+#, python-format
+msgid "Interface %(interface)s not found"
+msgstr ""
+
+#: nova/network/floating_ips.py:122
+#, python-format
+msgid "floating IP allocation for instance |%(floating_address)s|"
+msgstr ""
+
+#: nova/network/floating_ips.py:179
+msgid "Floating IP is not associated. Ignore."
+msgstr ""
+
+#: nova/network/floating_ips.py:197
+#, python-format
+msgid "Address |%(address)s| is not allocated"
+msgstr ""
+
+#: nova/network/floating_ips.py:201
+#, python-format
+msgid "Address |%(address)s| is not allocated to your project |%(project)s|"
+msgstr ""
+
+#: nova/network/floating_ips.py:221
+#, python-format
+msgid "Quota exceeded for %(pid)s, tried to allocate floating IP"
+msgstr ""
+
+#: nova/network/floating_ips.py:282
+msgid "Failed to update usages deallocating floating IP"
+msgstr ""
+
+#: nova/network/floating_ips.py:532
+#, python-format
+msgid "Starting migration network for instance %(instance_uuid)s"
+msgstr ""
+
+#: nova/network/floating_ips.py:539
+#, python-format
+msgid ""
+"Floating ip address |%(address)s| no longer belongs to instance "
+"%(instance_uuid)s. Will notmigrate it "
+msgstr ""
+
+#: nova/network/floating_ips.py:574
+#, python-format
+msgid "Finishing migration network for instance %(instance_uuid)s"
+msgstr ""
+
+#: nova/network/floating_ips.py:582
+#, python-format
+msgid ""
+"Floating ip address |%(address)s| no longer belongs to instance "
+"%(instance_uuid)s. Will notsetup it."
+msgstr ""
+
+#: nova/network/floating_ips.py:630
+#, python-format
+msgid ""
+"Database inconsistency: DNS domain |%s| is registered in the Nova db but "
+"not visible to either the floating or instance DNS driver. It will be "
+"ignored."
+msgstr ""
+
+#: nova/network/floating_ips.py:670
+#, python-format
+msgid "Domain |%(domain)s| already exists, changing zone to |%(av_zone)s|."
+msgstr ""
+
+#: nova/network/floating_ips.py:679
+#, python-format
+msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
+msgstr ""
+
+#: nova/network/ldapdns.py:102
+#, python-format
+msgid ""
+"Found multiple matches for domain %(domain)s.\n"
+"%(entry)s"
+msgstr ""
+
+#: nova/network/ldapdns.py:129
+#, python-format
+msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
+msgstr ""
+
+#: nova/network/ldapdns.py:325
+msgid "This driver only supports type 'a' entries."
+msgstr ""
+
+#: nova/network/ldapdns.py:368
+msgid "This shouldn't be getting called except during testing."
+msgstr ""
+
+#: nova/network/linux_net.py:219
+#, python-format
+msgid "Attempted to remove chain %s which does not exist"
+msgstr ""
+
+#: nova/network/linux_net.py:254
+#, python-format
+msgid "Unknown chain: %r"
+msgstr ""
+
+#: nova/network/linux_net.py:279
+#, python-format
+msgid ""
+"Tried to remove rule that was not there: %(chain)r %(rule)r %(wrap)r "
+"%(top)r"
+msgstr ""
+
+#: nova/network/linux_net.py:424
+msgid "IPTablesManager.apply completed with success"
+msgstr ""
+
+#: nova/network/linux_net.py:681
+#, python-format
+msgid "arping error for ip %s"
+msgstr ""
+
+#: nova/network/linux_net.py:731
+#, python-format
+msgid "Removed %(num)d duplicate rules for floating ip %(float)s"
+msgstr ""
+
+#: nova/network/linux_net.py:779
+#, python-format
+msgid "Error deleting conntrack entries for %s"
+msgstr ""
+
+#: nova/network/linux_net.py:980
+#, python-format
+msgid "Pid %d is stale, skip killing dnsmasq"
+msgstr ""
+
+#: nova/network/linux_net.py:1025
+#, python-format
+msgid "Hupping dnsmasq threw %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1027
+#, python-format
+msgid "Pid %d is stale, relaunching dnsmasq"
+msgstr ""
+
+#: nova/network/linux_net.py:1107
+#, python-format
+msgid "killing radvd threw %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1109
+#, python-format
+msgid "Pid %d is stale, relaunching radvd"
+msgstr ""
+
+#: nova/network/linux_net.py:1297
+#, python-format
+msgid "Net device removed: '%s'"
+msgstr ""
+
+#: nova/network/linux_net.py:1300
+#, python-format
+msgid "Failed removing net device: '%s'"
+msgstr ""
+
+#: nova/network/linux_net.py:1418
+#, python-format
+msgid "Starting VLAN interface %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1464
+#, python-format
+msgid "Starting Bridge %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1476
+#, python-format
+msgid "Adding interface %(interface)s to bridge %(bridge)s"
+msgstr ""
+
+#: nova/network/linux_net.py:1512
+#, python-format
+msgid "Failed to add interface: %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1749
+#, python-format
+msgid "Starting bridge %s "
+msgstr ""
+
+#: nova/network/linux_net.py:1757
+#, python-format
+msgid "Done starting bridge %s"
+msgstr ""
+
+#: nova/network/manager.py:365
+#, python-format
+msgid "Disassociated %s stale fixed ip(s)"
+msgstr ""
+
+#: nova/network/manager.py:369
+msgid "setting network host"
+msgstr ""
+
+#: nova/network/manager.py:481
+msgid "network allocations"
+msgstr ""
+
+#: nova/network/manager.py:488
+#, python-format
+msgid "networks retrieved for instance: |%(networks_list)s|"
+msgstr ""
+
+#: nova/network/manager.py:536
+msgid "network deallocation for instance"
+msgstr ""
+
+#: nova/network/manager.py:803
+#, python-format
+msgid ""
+"instance-dns-zone is |%(domain)s|, which is in availability zone "
+"|%(zone)s|. Instance is in zone |%(zone2)s|. No DNS record will be "
+"created."
+msgstr ""
+
+#: nova/network/manager.py:829
+#, python-format
+msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
+msgstr ""
+
+#: nova/network/manager.py:881
+msgid "Failed to update usages deallocating fixed IP"
+msgstr ""
+
+#: nova/network/manager.py:913
+#, python-format
+msgid "Unable to release %s because vif doesn't exist."
+msgstr ""
+
+#: nova/network/manager.py:936
+#, python-format
+msgid "Leased IP |%(address)s|"
+msgstr ""
+
+#: nova/network/manager.py:940
+#, python-format
+msgid "IP %s leased that is not associated"
+msgstr ""
+
+#: nova/network/manager.py:949
+#, python-format
+msgid "IP |%s| leased that isn't allocated"
+msgstr ""
+
+#: nova/network/manager.py:954
+#, python-format
+msgid "Released IP |%(address)s|"
+msgstr ""
+
+#: nova/network/manager.py:958
+#, python-format
+msgid "IP %s released that is not associated"
+msgstr ""
+
+#: nova/network/manager.py:962
+#, python-format
+msgid "IP %s released that was not leased"
+msgstr ""
+
+#: nova/network/manager.py:981
+#, python-format
+msgid "%s must be an integer"
+msgstr ""
+
+#: nova/network/manager.py:1005
+msgid "Maximum allowed length for 'label' is 255."
+msgstr ""
+
+#: nova/network/manager.py:1025
+#, python-format
+msgid ""
+"Subnet(s) too large, defaulting to /%s. To override, specify "
+"network_size flag."
+msgstr ""
+
+#: nova/network/manager.py:1107
+msgid "cidr already in use"
+msgstr ""
+
+#: nova/network/manager.py:1110
+#, python-format
+msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
+msgstr ""
+
+#: nova/network/manager.py:1121
+#, python-format
+msgid ""
+"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
+"(%(smaller)s)"
+msgstr ""
+
+#: nova/network/manager.py:1178
+msgid "Network already exists!"
+msgstr ""
+
+#: nova/network/manager.py:1197
+#, python-format
+msgid "Network must be disassociated from project %s before delete"
+msgstr ""
+
+#: nova/network/manager.py:1792
+msgid ""
+"The sum between the number of networks and the vlan start cannot be "
+"greater than 4094"
+msgstr ""
+
+#: nova/network/manager.py:1799
+#, python-format
+msgid ""
+"The network range is not big enough to fit %(num_networks)s networks. "
+"Network size is %(network_size)s"
+msgstr ""
+
+#: nova/network/minidns.py:48
+#, python-format
+msgid "minidns file is |%s|"
+msgstr ""
+
+#: nova/network/minidns.py:75 nova/network/minidns.py:106
+msgid "Invalid name"
+msgstr ""
+
+#: nova/network/minidns.py:78
+msgid "This driver only supports type 'a'"
+msgstr ""
+
+#: nova/network/minidns.py:122
+#, python-format
+msgid "Cannot delete entry |%s|"
+msgstr ""
+
+#: nova/network/minidns.py:201
+#, python-format
+msgid "deleted %s"
+msgstr ""
+
+#: nova/network/minidns.py:207
+#, python-format
+msgid "Cannot delete domain |%s|"
+msgstr ""
+
+#: nova/network/model.py:383
+msgid "v4 subnets are required for legacy nw_info"
+msgstr ""
+
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:152
+#, python-format
+msgid "allocate_for_instance() for %s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:155
+#, python-format
+msgid "empty project id for instance %s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:201
+#, python-format
+msgid ""
+"Multiple security groups found matching '%s'. Use an ID to be more "
+"specific."
+msgstr ""
+
+#: nova/network/quantumv2/api.py:270
+msgid "Port not found"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:278
+#, python-format
+msgid "Fail to delete port %(portid)s with failure: %(exception)s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:318
+#, python-format
+msgid "deallocate_for_instance() for %s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:327
+#, python-format
+msgid "Failed to delete quantum port %(portid)s "
+msgstr ""
+
+#: nova/network/quantumv2/api.py:349
+#, python-format
+msgid "Failed to delete quantum port %(port_id)s "
+msgstr ""
+
+#: nova/network/quantumv2/api.py:373
+#, python-format
+msgid "get_instance_nw_info() for %s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:405
+#, python-format
+msgid ""
+"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
+"%(exception)s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:435
+#, python-format
+msgid "Unable to update port %(portid)s with failure: %(exception)s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:445
+#, python-format
+msgid "validate_networks() for %s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:688
+#, python-format
+msgid "Multiple floating IP pools matches found for name '%s'"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:56
+#, python-format
+msgid "Quantum Error creating security group %s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:75
+#, python-format
+msgid "Quantum Error updating security group %s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:129
+#, python-format
+msgid "Quantum security group %s not found"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
+#, python-format
+msgid "Quantum Error: %s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:153
+msgid "Quantum Error getting security groups"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:162
+msgid "Security group id should be uuid"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:199
+#, python-format
+msgid "Quantum Error getting security group %s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
+msgid "Quantum Error:"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:257
+#, python-format
+msgid "Quantum Error unable to delete %s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:267
+#, python-format
+msgid "Quantum security group rule %s not found"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:382
+#, python-format
+msgid ""
+"Cannot add security group %(name)s to %(instance)s since the port "
+"%(port_id)s does not meet security requirements"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
+#, python-format
+msgid "Adding security group %(security_group_id)s to port %(port_id)s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:453
+#, python-format
+msgid ""
+"Security group %(security_group_name)s not assocaited with the instance "
+"%(instance)s"
+msgstr ""
+
+#: nova/network/security_group/security_group_base.py:137
+#, python-format
+msgid "This rule already exists in group %s"
+msgstr ""
+
+#: nova/objects/base.py:54
+#, python-format
+msgid "Error setting %(attr)s"
+msgstr ""
+
+#: nova/objects/base.py:145
+msgid "Invalid version string"
+msgstr ""
+
+#: nova/objects/base.py:202
+#, python-format
+msgid "Unable to instantiate unregistered object type %(objtype)s"
+msgstr ""
+
+#: nova/objects/base.py:305
+#, python-format
+msgid "Cannot load '%(attrname)s' in the base class"
+msgstr ""
+
+#: nova/openstack/common/excutils.py:48
+#, python-format
+msgid "Original exception being dropped: %s"
+msgstr ""
+
+#: nova/openstack/common/lockutils.py:102
+#, python-format
+msgid "Could not release the acquired lock `%s`"
+msgstr ""
+
+#: nova/openstack/common/lockutils.py:188
+#, python-format
+msgid "Got semaphore \"%(lock)s\" for method \"%(method)s\"..."
+msgstr ""
+
+#: nova/openstack/common/lockutils.py:199
+#, python-format
+msgid "Attempting to grab file lock \"%(lock)s\" for method \"%(method)s\"..."
+msgstr ""
+
+#: nova/openstack/common/lockutils.py:226
+#, python-format
+msgid "Got file lock \"%(lock)s\" at %(path)s for method \"%(method)s\"..."
+msgstr ""
+
+#: nova/openstack/common/lockutils.py:234
+#, python-format
+msgid "Released file lock \"%(lock)s\" at %(path)s for method \"%(method)s\"..."
+msgstr ""
+
+#: nova/openstack/common/log.py:244
+#, python-format
+msgid "Deprecated: %s"
+msgstr ""
+
+#: nova/openstack/common/log.py:336
+#, python-format
+msgid "Error loading logging config %(log_config)s: %(err_msg)s"
+msgstr ""
+
+#: nova/openstack/common/log.py:386
+#, python-format
+msgid "syslog facility must be one of: %s"
+msgstr ""
+
+#: nova/openstack/common/log.py:555
+#, python-format
+msgid "Fatal call to deprecated config: %(msg)s"
+msgstr ""
+
+#: nova/openstack/common/loopingcall.py:84
+#, python-format
+msgid "task run outlasted interval by %s sec"
+msgstr ""
+
+#: nova/openstack/common/loopingcall.py:91
+msgid "in fixed duration looping call"
+msgstr ""
+
+#: nova/openstack/common/loopingcall.py:131
+#, python-format
+msgid "Dynamic looping call sleeping for %.02f seconds"
+msgstr ""
+
+#: nova/openstack/common/loopingcall.py:138
+msgid "in dynamic looping call"
+msgstr ""
+
+#: nova/openstack/common/periodic_task.py:41
+#, python-format
+msgid "Unexpected argument for periodic task creation: %(arg)s."
+msgstr ""
+
+#: nova/openstack/common/periodic_task.py:132
+#, python-format
+msgid "Skipping periodic task %(task)s because its interval is negative"
+msgstr ""
+
+#: nova/openstack/common/periodic_task.py:137
+#, python-format
+msgid "Skipping periodic task %(task)s because it is disabled"
+msgstr ""
+
+#: nova/openstack/common/periodic_task.py:175
+#, python-format
+msgid "Running periodic task %(full_task_name)s"
+msgstr ""
+
+#: nova/openstack/common/periodic_task.py:183
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr ""
+
+#: nova/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: nova/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: nova/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: nova/openstack/common/processutils.py:127
+#, python-format
+msgid "Got unknown keyword args to utils.execute: %r"
+msgstr ""
+
+#: nova/openstack/common/processutils.py:142
+#, python-format
+msgid "Running cmd (subprocess): %s"
+msgstr ""
+
+#: nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:117
+#, python-format
+msgid "Result was %s"
+msgstr ""
+
+#: nova/openstack/common/processutils.py:179
+#, python-format
+msgid "%r failed. Retrying."
+msgstr ""
+
+#: nova/openstack/common/processutils.py:219
+#, python-format
+msgid "Running cmd (SSH): %s"
+msgstr ""
+
+#: nova/openstack/common/processutils.py:221
+msgid "Environment not supported over SSH"
+msgstr ""
+
+#: nova/openstack/common/processutils.py:225
+msgid "process_input not supported over SSH"
+msgstr ""
+
+#: nova/openstack/common/service.py:113 nova/openstack/common/service.py:276
+msgid "Full set of CONF:"
+msgstr ""
+
+#: nova/openstack/common/service.py:122 nova/openstack/common/service.py:219
+#, python-format
+msgid "Caught %s, exiting"
+msgstr ""
+
+#: nova/openstack/common/service.py:165
+msgid "Parent process has died unexpectedly, exiting"
+msgstr ""
+
+#: nova/openstack/common/service.py:201
+msgid "Forking too fast, sleeping"
+msgstr ""
+
+#: nova/openstack/common/service.py:224
+msgid "Unhandled exception"
+msgstr ""
+
+#: nova/openstack/common/service.py:231
+#, python-format
+msgid "Started child %d"
+msgstr ""
+
+#: nova/openstack/common/service.py:241
+#, python-format
+msgid "Starting %d workers"
+msgstr ""
+
+#: nova/openstack/common/service.py:258
+#, python-format
+msgid "Child %(pid)d killed by signal %(sig)d"
+msgstr ""
+
+#: nova/openstack/common/service.py:262
+#, python-format
+msgid "Child %(pid)s exited with status %(code)d"
+msgstr ""
+
+#: nova/openstack/common/service.py:266
+#, python-format
+msgid "pid %d not in child list"
+msgstr ""
+
+#: nova/openstack/common/service.py:294
+#, python-format
+msgid "Caught %s, stopping children"
+msgstr ""
+
+#: nova/openstack/common/service.py:305
+#, python-format
+msgid "Waiting on %d children to exit"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:86
+#, python-format
+msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
+#: nova/openstack/common/db/sqlalchemy/session.py:462
+msgid "DB exception wrapped."
+msgstr ""
+
+#: nova/openstack/common/db/sqlalchemy/session.py:513
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: nova/openstack/common/db/sqlalchemy/session.py:585
+#, python-format
+msgid "SQL connection failed. %s attempts left."
+msgstr ""
+
+#: nova/openstack/common/db/sqlalchemy/utils.py:72
+msgid "Id not in sort_keys; is sort_keys unique?"
+msgstr ""
+
+#: nova/openstack/common/db/sqlalchemy/utils.py:120
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
+msgstr ""
+
+#: nova/openstack/common/notifier/api.py:125
+#, python-format
+msgid "%s not in valid priorities"
+msgstr ""
+
+#: nova/openstack/common/notifier/api.py:141
+#, python-format
+msgid ""
+"Problem '%(e)s' attempting to send to notification system. "
+"Payload=%(payload)s"
+msgstr ""
+
+#: nova/openstack/common/notifier/api.py:171
+#, python-format
+msgid "Failed to load notifier %s. These notifications will not be sent."
+msgstr ""
+
+#: nova/openstack/common/notifier/rabbit_notifier.py:27
+msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
+msgstr ""
+
+#: nova/openstack/common/notifier/rpc_notifier.py:45
+#: nova/openstack/common/notifier/rpc_notifier2.py:51
+#, python-format
+msgid "Could not send notification to %(topic)s. Payload=%(message)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/__init__.py:106
+#, python-format
+msgid ""
+"A RPC is being made while holding a lock. The locks currently held are "
+"%(locks)s. This is probably a bug. Please report it. Include the "
+"following: [%(stack)s]."
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:75
+msgid "Pool creating new connection"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:200
+#, python-format
+msgid "no calling threads waiting for msg_id : %s, message : %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:208
+#, python-format
+msgid ""
+"Number of call waiters is greater than warning threshhold: %d. There "
+"could be a MulticallProxyWaiter leak."
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:291
+#, python-format
+msgid "unpacked context: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:337
+#, python-format
+msgid "UNIQUE_ID is %s."
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:406
+#, python-format
+msgid "received %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:414
+#, python-format
+msgid "no method for message: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:415
+#, python-format
+msgid "No method for message: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:443
+#: nova/openstack/common/rpc/impl_zmq.py:286
+#, python-format
+msgid "Expected exception during message handling (%s)"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:451
+#: nova/openstack/common/rpc/impl_zmq.py:292
+msgid "Exception during message handling"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:586
+#, python-format
+msgid "Making synchronous call on %s ..."
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:589
+#, python-format
+msgid "MSG_ID is %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:623
+#, python-format
+msgid "Making asynchronous cast on %s..."
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:632
+msgid "Making asynchronous fanout cast..."
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:660
+#, python-format
+msgid "Sending %(event_type)s on %(topic)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:75
+msgid "An unknown RPC related exception occurred."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:105
+#, python-format
+msgid ""
+"Remote error: %(exc_type)s %(value)s\n"
+"%(traceback)s."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:122
+#, python-format
+msgid ""
+"Timeout while waiting on RPC response - topic: \"%(topic)s\", RPC method:"
+" \"%(method)s\" info: \"%(info)s\""
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:138
+#: nova/openstack/common/rpc/common.py:139
+#: nova/openstack/common/rpc/common.py:140
+msgid "<unknown>"
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:144
+#, python-format
+msgid "Found duplicate message(%(msg_id)s). Skipping it."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:148
+msgid "Invalid reuse of an RPC connection."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:152
+#, python-format
+msgid "Specified RPC version, %(version)s, not supported by this endpoint."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:157
+#, python-format
+msgid ""
+"Specified RPC envelope version, %(version)s, not supported by this "
+"endpoint."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:162
+#, python-format
+msgid "Specified RPC version cap, %(version_cap)s, is too low"
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:285
+#, python-format
+msgid "Failed to sanitize %(item)s. Key error %(err)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:307
+#, python-format
+msgid "Returning exception %s to caller"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:169
+#: nova/openstack/common/rpc/impl_qpid.py:153
+msgid "Failed to process message... skipping it."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:480
+#, python-format
+msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:502
+#, python-format
+msgid "Connected to AMQP server on %(hostname)s:%(port)d"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:539
+#, python-format
+msgid ""
+"Unable to connect to AMQP server on %(hostname)s:%(port)d after "
+"%(max_retries)d tries: %(err_str)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:555
+#, python-format
+msgid ""
+"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
+"again in %(sleep_time)d seconds."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:609
+#: nova/openstack/common/rpc/impl_qpid.py:457
+#, python-format
+msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:627
+#: nova/openstack/common/rpc/impl_qpid.py:472
+#, python-format
+msgid "Timed out waiting for RPC response: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:631
+#: nova/openstack/common/rpc/impl_qpid.py:476
+#, python-format
+msgid "Failed to consume message from queue: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:670
+#: nova/openstack/common/rpc/impl_qpid.py:511
+#, python-format
+msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_qpid.py:399
+#, python-format
+msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_qpid.py:405
+#, python-format
+msgid "Connected to AMQP server on %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_qpid.py:418
+msgid "Re-established AMQP queues"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_qpid.py:484
+msgid "Error processing message. Skipping it."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:97
+msgid "JSON serialization failed."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:104
+#, python-format
+msgid "Deserializing: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:140
+#, python-format
+msgid "Connecting to %(addr)s with %(type)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:141
+#, python-format
+msgid "-> Subscribed to %(subscribe)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:142
+#, python-format
+msgid "-> bind: %(bind)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:150
+msgid "Could not open socket."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:162
+#, python-format
+msgid "Subscribing to %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:204
+msgid "You cannot recv on this socket."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:209
+msgid "You cannot send on this socket."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:273
+#, python-format
+msgid "Running func with context: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:311
+msgid "Sending reply"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:345
+msgid "RPC message did not include method."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:380
+msgid "Registering reactor"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:392
+msgid "In reactor registered"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:407
+msgid "Out reactor registered"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:411
+msgid "Consuming socket"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:453
+#, python-format
+msgid "CONSUMER GOT %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:465
+#, python-format
+msgid "Creating proxy for topic: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:471
+msgid "Topic contained dangerous characters."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:496
+#, python-format
+msgid "ROUTER RELAY-OUT SUCCEEDED %(data)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:505
+msgid "Topic socket file creation failed."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:510
+#, python-format
+msgid "ROUTER RELAY-OUT QUEUED %(data)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:513
+#, python-format
+msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:532
+#, python-format
+msgid "Could not create IPC directory %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:542
+msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:576
+#, python-format
+msgid "CONSUMER RECEIVED DATA: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:578
+#, python-format
+msgid "ROUTER RELAY-OUT %(data)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:600
+msgid "ZMQ Envelope version unsupported or unknown."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:628
+msgid "Skipping topic registration. Already registered."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:635
+#, python-format
+msgid "Consumer is a zmq.%s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:687
+msgid "Creating payload"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:700
+msgid "Creating queue socket for reply waiter"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:713
+msgid "Sending cast"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:716
+msgid "Cast sent; Waiting reply"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:719
+#, python-format
+msgid "Received message: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:720
+msgid "Unpacking response"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:729
+msgid "Unsupported or unknown ZMQ envelope returned."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:736
+msgid "RPC Message Invalid."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:760
+#, python-format
+msgid "%(msg)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:763
+#, python-format
+msgid "Sending message(s) to: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:767
+msgid "No matchmaker results. Not casting."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:770
+msgid "No match from matchmaker."
+msgstr ""
+
+#: nova/openstack/common/rpc/matchmaker.py:53
+msgid "Match not found by MatchMaker."
+msgstr ""
+
+#: nova/openstack/common/rpc/matchmaker.py:89
+msgid "Matchmaker does not implement registration or heartbeat."
+msgstr ""
+
+#: nova/openstack/common/rpc/matchmaker.py:239
+#, python-format
+msgid "Matchmaker unregistered: %s, %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/matchmaker.py:250
+msgid "Register before starting heartbeat."
+msgstr ""
+
+#: nova/openstack/common/rpc/matchmaker.py:343
+#: nova/openstack/common/rpc/matchmaker.py:361
+#, python-format
+msgid "No key defining hosts for topic '%s', see ringfile"
+msgstr ""
+
+#: nova/scheduler/chance.py:56
+msgid "Is the appropriate service running?"
+msgstr ""
+
+#: nova/scheduler/chance.py:61
+msgid "Could not find another compute"
+msgstr ""
+
+#: nova/scheduler/driver.py:57
+msgid "Exception during scheduler.run_instance"
+msgstr ""
+
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
+#, python-format
+msgid "Setting instance to %s state."
+msgstr ""
+
+#: nova/scheduler/driver.py:150
+msgid "Driver must implement schedule_prep_resize"
+msgstr ""
+
+#: nova/scheduler/driver.py:158
+msgid "Driver must implement schedule_run_instance"
+msgstr ""
+
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
+msgstr ""
+
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:76
+#, python-format
+msgid ""
+"Attempting to build %(num_instances)d instance(s) uuids: "
+"%(instance_uuids)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:80
+#, python-format
+msgid "Request Spec: %s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:100
+#, python-format
+msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:258
+msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:275
+#, python-format
+msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:307
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:375
+#, python-format
+msgid "Filtered %(hosts)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:380
+#, python-format
+msgid "Weighed %(hosts)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:433
+#, python-format
+msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
+msgstr ""
+
+#: nova/scheduler/host_manager.py:308
+#, python-format
+msgid "Host filter ignoring hosts: %s"
+msgstr ""
+
+#: nova/scheduler/host_manager.py:320
+#, python-format
+msgid "Host filter forcing available hosts to %s"
+msgstr ""
+
+#: nova/scheduler/host_manager.py:323
+#, python-format
+msgid "No hosts matched due to not matching 'force_hosts' value of '%s'"
+msgstr ""
+
+#: nova/scheduler/host_manager.py:336
+#, python-format
+msgid "Host filter forcing available nodes to %s"
+msgstr ""
+
+#: nova/scheduler/host_manager.py:339
+#, python-format
+msgid "No nodes matched due to not matching 'force_nodes' value of '%s'"
+msgstr ""
+
+#: nova/scheduler/host_manager.py:379
+#, python-format
+msgid "Ignoring %(service_name)s service update from %(host)s"
+msgstr ""
+
+#: nova/scheduler/host_manager.py:385
+#, python-format
+msgid "Received %(service_name)s service update from %(state_key)s."
+msgstr ""
+
+#: nova/scheduler/host_manager.py:405
+#: nova/scheduler/filters/trusted_filter.py:214
+#, python-format
+msgid "No service for compute ID %s"
+msgstr ""
+
+#: nova/scheduler/host_manager.py:427
+#, python-format
+msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
+msgstr ""
+
+#: nova/scheduler/scheduler_options.py:71
+#, python-format
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgstr ""
+
+#: nova/scheduler/scheduler_options.py:80
+#, python-format
+msgid "Could not decode scheduler options: '%s'"
+msgstr ""
+
+#: nova/scheduler/utils.py:57
+#, python-format
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
+msgstr ""
+
+#: nova/scheduler/filters/affinity_filter.py:95
+#, python-format
+msgid "Group affinity: %(host)s in %(configured)s"
+msgstr ""
+
+#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
+#, python-format
+msgid ""
+"%(host_state)s fails instance_type extra_specs requirements. Extra_spec "
+"%(key)s is not in aggregate."
+msgstr ""
+
+#: nova/scheduler/filters/aggregate_instance_extra_specs.py:57
+#, python-format
+msgid ""
+"%(host_state)s fails instance_type extra_specs requirements. "
+"'%(aggregate_vals)s' do not match '%(req)s'"
+msgstr ""
+
+#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
+#, python-format
+msgid "%s fails tenant id on aggregate"
+msgstr ""
+
+#: nova/scheduler/filters/compute_capabilities_filter.py:58
+#, python-format
+msgid "%(host_state)s fails instance_type extra_specs requirements"
+msgstr ""
+
+#: nova/scheduler/filters/compute_filter.py:40
+#, python-format
+msgid "%(host_state)s is disabled or has not been heard from in a while"
+msgstr ""
+
+#: nova/scheduler/filters/compute_filter.py:44
+#, python-format
+msgid "%(host_state)s is disabled via capabilities"
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:50
+msgid "VCPUs not set; assuming CPU collection broken"
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
+#: nova/scheduler/filters/disk_filter.py:47
+#, python-format
+msgid ""
+"%(host_state)s does not have %(requested_disk)s MB usable disk, it only "
+"has %(usable_disk_mb)s MB usable disk."
+msgstr ""
+
+#: nova/scheduler/filters/image_props_filter.py:48
+#, python-format
+msgid ""
+"Instance contains properties %(image_props)s, but no corresponding "
+"capabilities are advertised by the compute node"
+msgstr ""
+
+#: nova/scheduler/filters/image_props_filter.py:61
+#, python-format
+msgid ""
+"Instance properties %(image_props)s are satisfied by compute host "
+"capabilities %(capabilities)s"
+msgstr ""
+
+#: nova/scheduler/filters/image_props_filter.py:68
+#, python-format
+msgid ""
+"Instance contains properties %(image_props)s that are not provided by the"
+" compute node capabilities %(capabilities)s"
+msgstr ""
+
+#: nova/scheduler/filters/image_props_filter.py:86
+#, python-format
+msgid "%(host_state)s does not support requested instance_properties"
+msgstr ""
+
+#: nova/scheduler/filters/io_ops_filter.py:42
+#, python-format
+msgid ""
+"%(host_state)s fails I/O ops check: Max IOs per host is set to "
+"%(max_io_ops)s"
+msgstr ""
+
+#: nova/scheduler/filters/num_instances_filter.py:39
+#, python-format
+msgid ""
+"%(host_state)s fails num_instances check: Max instances per host is set "
+"to %(max_instances)s"
+msgstr ""
+
+#: nova/scheduler/filters/ram_filter.py:55
+#, python-format
+msgid ""
+"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
+" %(usable_ram)s MB usable ram."
+msgstr ""
+
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
+#: nova/scheduler/filters/retry_filter.py:41
+#, python-format
+msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
+msgstr ""
+
+#: nova/servicegroup/api.py:60
+#, python-format
+msgid "ServiceGroup driver defined as an instance of %s"
+msgstr ""
+
+#: nova/servicegroup/api.py:66
+#, python-format
+msgid "unknown ServiceGroup driver name: %s"
+msgstr ""
+
+#: nova/servicegroup/api.py:83
+#, python-format
+msgid ""
+"Join new ServiceGroup member %(member_id)s to the %(group_id)s group, "
+"service = %(service)s"
+msgstr ""
+
+#: nova/servicegroup/api.py:90
+#, python-format
+msgid "Check if the given member [%s] is part of the ServiceGroup, is up"
+msgstr ""
+
+#: nova/servicegroup/api.py:99
+#, python-format
+msgid ""
+"Explicitly remove the given member %(member_id)s from the%(group_id)s "
+"group monitoring"
+msgstr ""
+
+#: nova/servicegroup/api.py:106
+#, python-format
+msgid "Returns ALL members of the [%s] ServiceGroup"
+msgstr ""
+
+#: nova/servicegroup/api.py:114
+#, python-format
+msgid "Returns one member of the [%s] group"
+msgstr ""
+
+#: nova/servicegroup/drivers/db.py:41
+#, python-format
+msgid ""
+"DB_Driver: join new ServiceGroup member %(member_id)s to the %(group_id)s"
+" group, service = %(service)s"
+msgstr ""
+
+#: nova/servicegroup/drivers/db.py:45
+msgid "service is a mandatory argument for DB based ServiceGroup driver"
+msgstr ""
+
+#: nova/servicegroup/drivers/db.py:72
+#, python-format
+msgid "DB_Driver: get_all members of the %s group"
+msgstr ""
+
+#: nova/servicegroup/drivers/db.py:95 nova/servicegroup/drivers/mc.py:99
+msgid "Recovered model server connection!"
+msgstr ""
+
+#: nova/servicegroup/drivers/db.py:101 nova/servicegroup/drivers/mc.py:105
+msgid "model server went away"
+msgstr ""
+
+#: nova/servicegroup/drivers/mc.py:43
+msgid "memcached_servers not defined"
+msgstr ""
+
+#: nova/servicegroup/drivers/mc.py:51
+#, python-format
+msgid ""
+"Memcached_Driver: join new ServiceGroup member %(member_id)s to the "
+"%(group_id)s group, service = %(service)s"
+msgstr ""
+
+#: nova/servicegroup/drivers/mc.py:56
+msgid "service is a mandatory argument for Memcached based ServiceGroup driver"
+msgstr ""
+
+#: nova/servicegroup/drivers/mc.py:74
+#, python-format
+msgid "Memcached_Driver: get_all members of the %s group"
+msgstr ""
+
+#: nova/servicegroup/drivers/zk.py:80
+#, python-format
+msgid ""
+"ZooKeeperDriver: join new member %(id)s to the %(gr)s group, "
+"service=%(sr)s"
+msgstr ""
+
+#: nova/servicegroup/drivers/zk.py:90
+msgid ""
+"Unable to join. It is possible that either another node exists with the "
+"same name, or this node just restarted. We will try again in a short "
+"while to make sure."
+msgstr ""
+
+#: nova/servicegroup/drivers/zk.py:101
+#, python-format
+msgid "ZooKeeperDriver.leave: %(member)s from group %(group)s"
+msgstr ""
+
+#: nova/servicegroup/drivers/zk.py:109
+#, python-format
+msgid "ZooKeeperDriver.leave: %(id)s has not joined to the %(gr)s group"
+msgstr ""
+
+#: nova/storage/linuxscsi.py:71
+#, python-format
+msgid "Trying (%(tries)s) to remove device %(device)s"
+msgstr ""
+
+#: nova/storage/linuxscsi.py:101
+#, python-format
+msgid "Multipath call failed exit (%(code)s)"
+msgstr ""
+
+#: nova/storage/linuxscsi.py:122
+#, python-format
+msgid "Couldn't find multipath device %(line)s"
+msgstr ""
+
+#: nova/storage/linuxscsi.py:126
+#, python-format
+msgid "Found multipath device = %(mdev)s"
+msgstr ""
+
+#: nova/tests/fake_ldap.py:34
+msgid "Attempted to instantiate singleton"
+msgstr ""
+
+#: nova/tests/fake_processutils.py:71
+#, python-format
+msgid "Faking execution of cmd (subprocess): %s"
+msgstr ""
+
+#: nova/tests/fake_processutils.py:79
+#, python-format
+msgid "Faked command matched %s"
+msgstr ""
+
+#: nova/tests/fake_processutils.py:95
+#, python-format
+msgid "Faked command raised an exception %s"
+msgstr ""
+
+#: nova/tests/fake_processutils.py:100
+#, python-format
+msgid "Reply to faked command is stdout='%(stdout)s' stderr='%(stderr)s'"
+msgstr ""
+
+#: nova/tests/fake_volume.py:188
+msgid "status must be available"
+msgstr ""
+
+#: nova/tests/fake_volume.py:192 nova/volume/cinder.py:238
+msgid "already attached"
+msgstr ""
+
+#: nova/tests/fake_volume.py:196 nova/volume/cinder.py:242
+msgid "Instance and volume not in same availability_zone"
+msgstr ""
+
+#: nova/tests/fake_volume.py:201 nova/volume/cinder.py:248
+msgid "already detached"
+msgstr ""
+
+#: nova/tests/api/test_auth.py:79
+msgid "200 Role Match"
+msgstr ""
+
+#: nova/tests/api/test_auth.py:81
+msgid "200 No Roles"
+msgstr ""
+
+#: nova/tests/api/test_auth.py:84
+msgid "unexpected role header"
+msgstr ""
+
+#: nova/tests/api/openstack/compute/test_servers.py:3504
+#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
+msgid ""
+"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
+"instances"
+msgstr ""
+
+#: nova/tests/api/openstack/compute/test_servers.py:3509
+#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
+msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
+msgstr ""
+
+#: nova/tests/api/openstack/compute/test_servers.py:3514
+#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
+msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
+#, python-format
+msgid "Running instances: %s"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
+#, python-format
+msgid "After terminating instances: %s"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:1949
+msgid "Internal error"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:4271
+#, python-format
+msgid "After force-killing instances: %s"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:4782
+msgid "wrong host/node"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:9714
+msgid "spawn error"
+msgstr ""
+
+#: nova/tests/db/test_migrations.py:1805
+#, python-format
+msgid ""
+"The following migrations are missing a downgrade:\n"
+"\t%s"
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:183
+#, python-format
+msgid "%(result_str)s: %(result)s is not a dict."
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:197
+#, python-format
+msgid ""
+"Dictionary key mismatch:\n"
+"Extra key(s) in template:\n"
+"%(ex_delta)s\n"
+"Extra key(s) in %(result_str)s:\n"
+"%(res_delta)s\n"
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:208
+#, python-format
+msgid "%(result_str)s: %(result)s is not a list."
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:227
+msgid "Extra list items in template:"
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:231
+#, python-format
+msgid "Extra list items in %(result_str)s:"
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
+#, python-format
+msgid ""
+"Values do not match:\n"
+"Template: %(expected)s\n"
+"%(result_str)s: %(result)s"
+msgstr ""
+
+#: nova/tests/integrated/test_login.py:31
+#, python-format
+msgid "flavor: %s"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:38
+#, python-format
+msgid ""
+"%(message)s\n"
+"Status Code: %(_status)s\n"
+"Body: %(_body)s"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:47
+msgid "Authentication error"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:55
+msgid "Authorization error"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:63
+msgid "Item not found"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:105
+#, python-format
+msgid "Doing %(method)s on %(relative_url)s"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:107
+#, python-format
+msgid "Body: %s"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:125
+#, python-format
+msgid "%(auth_uri)s => code %(http_status)s"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:155
+#, python-format
+msgid "%(relative_uri)s => code %(http_status)s"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:165
+msgid "Unexpected status code"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:172
+#, python-format
+msgid "Decoding JSON: %s"
+msgstr ""
+
+#: nova/tests/virt/hyperv/test_hypervapi.py:433
+msgid "fake vswitch not found"
+msgstr ""
+
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
+msgid "Please extend mock libvirt module to support flags"
+msgstr ""
+
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
+msgid "Expected a list for 'auth' parameter"
+msgstr ""
+
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
+msgid "Expected a function in 'auth[0]' parameter"
+msgstr ""
+
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
+msgid "Expected a function in 'auth[1]' parameter"
+msgstr ""
+
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2181
+#, python-format
+msgid ""
+"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
+"left to copy"
+msgstr ""
+
+#: nova/tests/virt/xenapi/test_xenapi.py:900
+#, python-format
+msgid "Creating files in %s to simulate guest agent"
+msgstr ""
+
+#: nova/tests/virt/xenapi/test_xenapi.py:911
+#, python-format
+msgid "Removing simulated guest agent files in %s"
+msgstr ""
+
+#: nova/virt/configdrive.py:97
+#, python-format
+msgid "Added %(filepath)s to config drive"
+msgstr ""
+
+#: nova/virt/driver.py:949
+msgid "Event must be an instance of nova.virt.event.Event"
+msgstr ""
+
+#: nova/virt/driver.py:955
+#, python-format
+msgid "Exception dispatching event %(event)s: %(ex)s"
+msgstr ""
+
+#: nova/virt/driver.py:977
+msgid "Compute driver option required, but not specified"
+msgstr ""
+
+#: nova/virt/driver.py:980
+#, python-format
+msgid "Loading compute driver '%s'"
+msgstr ""
+
+#: nova/virt/driver.py:987
+msgid "Unable to load the virtualization driver"
+msgstr ""
+
+#: nova/virt/fake.py:212
+#, python-format
+msgid "Key '%(key)s' not in instances '%(inst)s'"
+msgstr ""
+
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
+msgid "Attempted to unfilter instance which is not filtered"
+msgstr ""
+
+#: nova/virt/firewall.py:200
+msgid "Filters added to instance"
+msgstr ""
+
+#: nova/virt/firewall.py:202
+msgid "Provider Firewall Rules refreshed"
+msgstr ""
+
+#: nova/virt/firewall.py:383
+#, python-format
+msgid "Adding security group rule: %r"
+msgstr ""
+
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
+#, python-format
+msgid "Adding provider rule: %s"
+msgstr ""
+
+#: nova/virt/images.py:114
+msgid "Snapshot list encountered but no header found!"
+msgstr ""
+
+#: nova/virt/images.py:203
+msgid "'qemu-img info' parsing failed."
+msgstr ""
+
+#: nova/virt/images.py:209
+#, python-format
+msgid "fmt=%(fmt)s backed by: %(backing_file)s"
+msgstr ""
+
+#: nova/virt/images.py:221
+#, python-format
+msgid "Converted to raw, but format is now %s"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:90
+#, python-format
+msgid "Request for baremetal node %s sent to wrong service host"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:143
+msgid "cpu_arch is not found in instance_type_extra_specs"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:185
+#, python-format
+msgid "Baremetal node id not supplied to driver for %r"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:259
+#, python-format
+msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:286
+#, python-format
+msgid "Baremetal power manager failed to restart node for instance %r"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:297
+#, python-format
+msgid "Destroy called on non-existing instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:315
+#, python-format
+msgid "Error from baremetal driver during destroy: %s"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:320
+#, python-format
+msgid "Error while recording destroy failure in baremetal database: %s"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:330
+#, python-format
+msgid "Baremetal power manager failed to stop node for instance %r"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:343
+#, python-format
+msgid "Baremetal power manager failed to start node for instance %r"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:86
+#, python-format
+msgid "pid file %s does not contain any pid"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:109
+msgid "Node id not supplied to IPMI"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:112
+msgid "Address not supplied to IPMI"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:115
+msgid "User not supplied to IPMI"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:118
+msgid "Password not supplied to IPMI"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:135
+#, python-format
+msgid "ipmitool stdout: '%(out)s', stderr: '%(err)s'"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:157
+msgid "IPMI power on failed"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:179
+msgid "IPMI power off failed"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:189
+msgid "IPMI set next bootdev failed"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:201 nova/virt/baremetal/tilera_pdu.py:153
+#, python-format
+msgid "Activate node called, but node %s is already active"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:109
+#, python-format
+msgid "Building PXE config for deployment %s."
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:228
+#, python-format
+msgid ""
+"Can not activate PXE bootloader. The following boot parameters were not "
+"passed to baremetal driver: %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
+#, python-format
+msgid "Fetching kernel and ramdisk for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
+#, python-format
+msgid "Fetching image %(ami)s for instance %(name)s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
+#, python-format
+msgid "Injecting files into image for instance %(name)s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
+#, python-format
+msgid "Node associated with another instance while waiting for deploy of %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:464
+#, python-format
+msgid "PXE deploy started for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:469
+#, python-format
+msgid "PXE deploy completed for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:473
+#, python-format
+msgid "PXE deploy failed for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
+#, python-format
+msgid "Baremetal node deleted while waiting for deployment of instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:480
+#, python-format
+msgid "Timeout reached while waiting for PXE deploy of instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/tilera.py:121
+#, python-format
+msgid ""
+"Can not activate Tilera bootloader. The following boot parameters were "
+"not passed to baremetal driver: %s"
+msgstr ""
+
+#: nova/virt/baremetal/tilera.py:338
+#, python-format
+msgid "Tilera deploy started for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/tilera.py:344
+#, python-format
+msgid "Tilera deploy completed for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/tilera.py:352
+msgid "Node is unknown error state."
+msgstr ""
+
+#: nova/virt/baremetal/tilera.py:355
+#, python-format
+msgid "Tilera deploy failed for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/tilera_pdu.py:83
+msgid "Node id not supplied to PDU"
+msgstr ""
+
+#: nova/virt/baremetal/tilera_pdu.py:86
+msgid "Address not supplied to PDU"
+msgstr ""
+
+#: nova/virt/baremetal/tilera_pdu.py:89
+msgid "User not supplied to PDU"
+msgstr ""
+
+#: nova/virt/baremetal/tilera_pdu.py:92
+msgid "Password not supplied to PDU"
+msgstr ""
+
+#: nova/virt/baremetal/tilera_pdu.py:117
+msgid "PDU failed"
+msgstr ""
+
+#: nova/virt/baremetal/tilera_pdu.py:134
+msgid "PDU power on failed"
+msgstr ""
+
+#: nova/virt/baremetal/tilera_pdu.py:147
+msgid "PDU power off failed"
+msgstr ""
+
+#: nova/virt/baremetal/utils.py:41
+#, python-format
+msgid "Failed to inject data into image %(image)s. Error: %(e)s"
+msgstr ""
+
+#: nova/virt/baremetal/utils.py:52
+#, python-format
+msgid "Failed to unlink %(path)s, error: %(e)s"
+msgstr ""
+
+#: nova/virt/baremetal/utils.py:60
+#, python-format
+msgid "Failed to remove dir %(path)s, error: %(e)s"
+msgstr ""
+
+#: nova/virt/baremetal/utils.py:75
+#, python-format
+msgid "Failed to create symlink from %(source)s to %(link)s, error: %(e)s"
+msgstr ""
+
+#: nova/virt/baremetal/vif_driver.py:37
+#, python-format
+msgid "plug: instance_uuid=%(uuid)s vif=%(vif)s"
+msgstr ""
+
+#: nova/virt/baremetal/vif_driver.py:50
+#, python-format
+msgid "pif:%(id)s is plugged (vif_uuid=%(vif_uuid)s)"
+msgstr ""
+
+#: nova/virt/baremetal/vif_driver.py:57
+#, python-format
+msgid ""
+"Baremetal node: %(id)s has no available physical interface for virtual "
+"interface %(vif_uuid)s"
+msgstr ""
+
+#: nova/virt/baremetal/vif_driver.py:63
+#, python-format
+msgid "unplug: instance_uuid=%(uuid)s vif=%(vif)s"
+msgstr ""
+
+#: nova/virt/baremetal/vif_driver.py:71
+#, python-format
+msgid "pif:%(id)s is unplugged (vif_uuid=%(vif_uuid)s)"
+msgstr ""
+
+#: nova/virt/baremetal/vif_driver.py:75
+#, python-format
+msgid "no pif for vif_uuid=%s"
+msgstr ""
+
+#: nova/virt/baremetal/virtual_power_driver.py:109
+msgid "virtual_power_ssh_host not defined. Can not Start"
+msgstr ""
+
+#: nova/virt/baremetal/virtual_power_driver.py:113
+msgid "virtual_power_host_user not defined. Can not Start"
+msgstr ""
+
+#: nova/virt/baremetal/virtual_power_driver.py:119
+msgid "virtual_power_host_pass/key not set. Can not Start"
+msgstr ""
+
+#: nova/virt/baremetal/volume_driver.py:123
+#, python-format
+msgid "baremetal driver was unable to delete tid %s"
+msgstr ""
+
+#: nova/virt/baremetal/volume_driver.py:187
+#, python-format
+msgid "Could not determine iscsi initiator name for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/volume_driver.py:227
+#, python-format
+msgid "No fixed PXE IP is associated to %s"
+msgstr ""
+
+#: nova/virt/baremetal/volume_driver.py:260
+#, python-format
+msgid "detach volume could not find tid for %s"
+msgstr ""
+
+#: nova/virt/baremetal/db/sqlalchemy/api.py:199
+msgid "instance_uuid must be supplied to bm_node_associate_and_update"
+msgstr ""
+
+#: nova/virt/baremetal/db/sqlalchemy/api.py:211
+#, python-format
+msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
+msgstr ""
+
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
+#, python-format
+msgid "Baremetal interface %s not found"
+msgstr ""
+
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
+#, python-format
+msgid "Baremetal interface %s already in use"
+msgstr ""
+
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
+#, python-format
+msgid "Baremetal virtual interface %s not found"
+msgstr ""
+
+#: nova/virt/disk/api.py:133
+#, python-format
+msgid "Checking if we can resize image %(image)s. size=%(size)s, CoW=%(use_cow)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:140
+#, python-format
+msgid "Cannot resize filesystem %s to a smaller size."
+msgstr ""
+
+#: nova/virt/disk/api.py:151
+#, python-format
+msgid "Unable to mount image %(image)s with error %(error)s. Cannot resize."
+msgstr ""
+
+#: nova/virt/disk/api.py:161
+#, python-format
+msgid ""
+"Unable to determine label for image %(image)s with error %(errror)s. "
+"Cannot resize."
+msgstr ""
+
+#: nova/virt/disk/api.py:228
+msgid "image already mounted"
+msgstr ""
+
+#: nova/virt/disk/api.py:284
+#, python-format
+msgid ""
+"Inject data image=%(image)s key=%(key)s net=%(net)s metadata=%(metadata)s"
+" admin_password=<SANITIZED> files=%(files)s partition=%(partition)s "
+"use_cow=%(use_cow)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:302
+#, python-format
+msgid "Ignoring error injecting data into image (%(e)s)"
+msgstr ""
+
+#: nova/virt/disk/api.py:321
+#, python-format
+msgid ""
+"Failed to mount container filesystem '%(image)s' on '%(target)s': "
+"%(errors)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:338
+#, python-format
+msgid "Failed to teardown ntainer filesystem: %s"
+msgstr ""
+
+#: nova/virt/disk/api.py:351
+#, python-format
+msgid "Failed to umount container filesystem: %s"
+msgstr ""
+
+#: nova/virt/disk/api.py:376
+#, python-format
+msgid "Ignoring error injecting %(inject)s into image (%(e)s)"
+msgstr ""
+
+#: nova/virt/disk/api.py:388
+#, python-format
+msgid "Inject file fs=%(fs)s path=%(path)s append=%(append)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:397
+#, python-format
+msgid "Inject metadata fs=%(fs)s metadata=%(metadata)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:438
+#, python-format
+msgid "Inject key fs=%(fs)s key=%(key)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:466
+#, python-format
+msgid "Inject key fs=%(fs)s net=%(net)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:491
+#, python-format
+msgid "Inject admin password fs=%(fs)s admin_passwd=<SANITIZED>"
+msgstr ""
+
+#: nova/virt/disk/api.py:535
+msgid "Not implemented on Windows"
+msgstr ""
+
+#: nova/virt/disk/api.py:564
+#, python-format
+msgid "User %(username)s not found in password file."
+msgstr ""
+
+#: nova/virt/disk/api.py:580
+#, python-format
+msgid "User %(username)s not found in shadow file."
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:41
+#, python-format
+msgid ""
+"Instance for format imgfile=%(imgfile)s mountdir=%(mountdir)s "
+"partition=%(partition)s imgfmt=%(imgfmt)s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
+#: nova/virt/disk/vfs/localfs.py:68
+msgid "Using LoopMount"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
+#: nova/virt/disk/vfs/localfs.py:73
+msgid "Using NbdMount"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:57
+#, python-format
+msgid ""
+"Instance for device imgfile=%(imgfile)s mountdir=%(mountdir)s "
+"partition=%(partition)s device=%(device)s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:117
+msgid "Device allocation failed. Will retry in 2 seconds."
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:120
+msgid "Device allocation failed after repeated retries."
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:135
+#, python-format
+msgid "Map dev %s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:140
+#, python-format
+msgid "partition search unsupported with %s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:156
+#, python-format
+msgid "partition %s not found"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:157
+#, python-format
+msgid "Failed to map partitions: %s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:179
+#, python-format
+msgid "Unmap dev %s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:187
+#, python-format
+msgid "Mount %(dev)s on %(dir)s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:192
+#, python-format
+msgid "Failed to mount filesystem: %s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:203
+#, python-format
+msgid "Umount %s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:214
+msgid "Fail to mount, tearing back down"
+msgstr ""
+
+#: nova/virt/disk/mount/loop.py:33
+#, python-format
+msgid "Could not attach image to loopback: %s"
+msgstr ""
+
+#: nova/virt/disk/mount/loop.py:34
+#, python-format
+msgid "Loop mount error: %s"
+msgstr ""
+
+#: nova/virt/disk/mount/loop.py:40
+#, python-format
+msgid "Got loop device %s"
+msgstr ""
+
+#: nova/virt/disk/mount/loop.py:58
+#, python-format
+msgid "Release loop device %s"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:55 nova/virt/disk/mount/nbd.py:69
+msgid "No free nbd devices"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:60
+msgid "nbd module not loaded"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:61
+msgid "nbd unavailable: module not loaded"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:86
+#, python-format
+msgid "Get nbd device %(dev)s for %(imgfile)s"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:91
+#, python-format
+msgid "qemu-nbd error: %s"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:92 nova/virt/disk/mount/nbd.py:105
+#, python-format
+msgid "NBD mount error: %s"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:104
+#, python-format
+msgid "nbd device %s did not show up"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:111
+#, python-format
+msgid "Detaching from erroneous nbd device returned error: %s"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:126
+#, python-format
+msgid "Release nbd device %s"
+msgstr ""
+
+#: nova/virt/disk/vfs/api.py:27
+#, python-format
+msgid ""
+"Instance for image imgfile=%(imgfile)s imgfmt=%(imgfmt)s "
+"partition=%(partition)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/api.py:32
+msgid "Trying to import guestfs"
+msgstr ""
+
+#: nova/virt/disk/vfs/api.py:39
+msgid "Using primary VFSGuestFS"
+msgstr ""
+
+#: nova/virt/disk/vfs/api.py:44
+msgid "Falling back to VFSLocalFS"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:55
+#, python-format
+msgid "Mount guest OS image %(imgfile)s partition %(part)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:64
+#, python-format
+msgid "Inspecting guest OS image %s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:68
+#, python-format
+msgid "No operating system found in %s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:72
+#, python-format
+msgid "Multi-boot OS %(roots)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:74
+#, python-format
+msgid "Multi-boot operating system found in %s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:80
+#, python-format
+msgid "Inspecting guest OS root filesystem %s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:85
+#, python-format
+msgid "No mount points found in %(root)s of %(imgfile)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:90
+#, python-format
+msgid "Mounting %(dev)s at %(dir)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:95
+#, python-format
+msgid "Setting up appliance for %(imgfile)s %(imgfmt)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:113
+#, python-format
+msgid "Error mounting %(imgfile)s with libguestfs (%(e)s)"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:120
+msgid "Tearing down appliance"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:126
+#, python-format
+msgid "Failed to close augeas %s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:134
+#, python-format
+msgid "Failed to shutdown appliance %s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:142
+#, python-format
+msgid "Failed to close guest handle %s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:154 nova/virt/disk/vfs/localfs.py:102
+#, python-format
+msgid "Make directory path=%(path)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:159 nova/virt/disk/vfs/localfs.py:107
+#, python-format
+msgid "Append file path=%(path)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:164 nova/virt/disk/vfs/localfs.py:116
+#, python-format
+msgid "Replace file path=%(path)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:169 nova/virt/disk/vfs/localfs.py:125
+#, python-format
+msgid "Read file path=%(path)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:174 nova/virt/disk/vfs/localfs.py:131
+#, python-format
+msgid "Has file path=%(path)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:183
+#, python-format
+msgid "Set permissions path=%(path)s mode=%(mode)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:188
+#, python-format
+msgid "Set ownership path=%(path)s user=%(user)s group=%(group)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:201
+#, python-format
+msgid "chown uid=%(uid)d gid=%(gid)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/localfs.py:47
+#, python-format
+msgid "File path %s not valid"
+msgstr ""
+
+#: nova/virt/disk/vfs/localfs.py:82
+#, python-format
+msgid "Failed to mount image %(ex)s)"
+msgstr ""
+
+#: nova/virt/disk/vfs/localfs.py:90
+#, python-format
+msgid "Failed to unmount %(imgdir)s: %(ex)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/localfs.py:96
+#, python-format
+msgid "Failed to remove %(imgdir)s: %(ex)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/localfs.py:139
+#, python-format
+msgid "Set permissions path=%(path)s mode=%(mode)o"
+msgstr ""
+
+#: nova/virt/disk/vfs/localfs.py:144
+#, python-format
+msgid "Set permissions path=%(path)s user=%(user)s group=%(group)s"
+msgstr ""
+
+#: nova/virt/hyperv/basevolumeutils.py:71
+msgid "The ISCSI initiator name can't be found. Choosing the default one"
+msgstr ""
+
+#: nova/virt/hyperv/driver.py:151
+msgid "plug_vifs called"
+msgstr ""
+
+#: nova/virt/hyperv/driver.py:154
+msgid "unplug_vifs called"
+msgstr ""
+
+#: nova/virt/hyperv/driver.py:157
+msgid "ensure_filtering_rules_for_instance called"
+msgstr ""
+
+#: nova/virt/hyperv/driver.py:161
+msgid "unfilter_instance called"
+msgstr ""
+
+#: nova/virt/hyperv/driver.py:192
+msgid "get_console_output called"
+msgstr ""
+
+#: nova/virt/hyperv/hostops.py:93
+#, python-format
+msgid "Windows version: %s "
+msgstr ""
+
+#: nova/virt/hyperv/hostops.py:105
+msgid "get_available_resource called"
+msgstr ""
+
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
+#: nova/virt/xenapi/host.py:148
+msgid "Updating host stats"
+msgstr ""
+
+#: nova/virt/hyperv/hostops.py:161
+msgid "get_host_stats called"
+msgstr ""
+
+#: nova/virt/hyperv/hostops.py:176
+#, python-format
+msgid "Host IP address is: %s"
+msgstr ""
+
+#: nova/virt/hyperv/imagecache.py:49
+#, python-format
+msgid "The image is not a valid VHD: %s"
+msgstr ""
+
+#: nova/virt/hyperv/imagecache.py:70
+#, python-format
+msgid ""
+"Cannot resize the image to a size smaller than the VHD max. internal "
+"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
+msgstr ""
+
+#: nova/virt/hyperv/imagecache.py:85
+#, python-format
+msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/imagecache.py:90
+#, python-format
+msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationops.py:45
+msgid "live_migration called"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationops.py:55
+#, python-format
+msgid "Calling live migration recover_method for instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationops.py:59
+#, python-format
+msgid "Calling live migration post_method for instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationops.py:65
+msgid "pre_live_migration called"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationops.py:78
+msgid "post_live_migration_at_destination called"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationops.py:85
+msgid "check_can_live_migrate_destination called"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationops.py:90
+msgid "check_can_live_migrate_destination_cleanup called"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationops.py:94
+msgid "check_can_live_migrate_source called"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:43
+#, python-format
+msgid "Live migration is not supported on target host \"%s\""
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:46
+#, python-format
+msgid "Target live migration host \"%s\" is unreachable"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:49
+#, python-format
+msgid "Live migration failed: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:61
+msgid "Live migration is not enabled on this host"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:64
+msgid "Live migration networks are not configured on this host"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:70 nova/virt/hyperv/vmutils.py:103
+#, python-format
+msgid "VM not found: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:72 nova/virt/hyperv/vmutils.py:112
+#, python-format
+msgid "Duplicate VM name found: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:77
+#, python-format
+msgid "Destroying existing remote planned VM: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:99
+#, python-format
+msgid "Creating remote planned VM for VM: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:156
+#, python-format
+msgid ""
+"Replacing host resource %(old_disk_path)s with %(new_disk_path)s on "
+"planned VM %(vm_name)s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:165
+#, python-format
+msgid "Updating remote planned VM disk paths for VM: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:201
+#, python-format
+msgid "Starting live migration for VM: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:210
+#, python-format
+msgid "Getting live migration networks for remote host: %s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:50
+msgid "Migration target is the source host"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:52
+#, python-format
+msgid "Migration target host: %s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:73
+#, python-format
+msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:97
+msgid "Cannot cleanup migration files"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:105
+#, python-format
+msgid ""
+"Cannot resize the root disk to a smaller size. Current size: "
+"%(curr_root_gb)s GB. Requested size: %(new_root_gb)s GB"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:113
+msgid "migrate_disk_and_power_off called"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:133
+msgid "confirm_migration called"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:148
+msgid "finish_revert_migration called"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:167
+#, python-format
+msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:173
+#, python-format
+msgid ""
+"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
+"%(diff_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:181
+#, python-format
+msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:195
+#, python-format
+msgid "Getting info for disk: %s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:200
+#, python-format
+msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:212
+#, python-format
+msgid ""
+"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
+"%(diff_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:223
+msgid "finish_migration called"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:232
+#, python-format
+msgid "Cannot find boot VHD file: %s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
+msgid "Cannot resize a VHD to a smaller size"
+msgstr ""
+
+#: nova/virt/hyperv/networkutils.py:46
+#, python-format
+msgid "vswitch \"%s\" not found"
+msgstr ""
+
+#: nova/virt/hyperv/networkutils.py:59
+#, python-format
+msgid "Failed to create vswitch port %(port_name)s on switch %(vswitch_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/pathutils.py:71
+#, python-format
+msgid "The file copy from %(src)s to %(dest)s failed"
+msgstr ""
+
+#: nova/virt/hyperv/pathutils.py:93
+#, python-format
+msgid "Creating directory: %s"
+msgstr ""
+
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
+#, python-format
+msgid "Removing directory: %s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:56
+#, python-format
+msgid "Creating snapshot for instance %s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:65
+#, python-format
+msgid "Getting info for VHD %s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:73
+#, python-format
+msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:84
+#, python-format
+msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:91
+#, python-format
+msgid ""
+"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
+"%(dest_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:99
+#, python-format
+msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:106
+#, python-format
+msgid ""
+"Updating Glance image %(name)s with content from merged disk "
+"%(image_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:113
+#, python-format
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:118
+#, python-format
+msgid "Removing snapshot %s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:122
+#, python-format
+msgid "Failed to remove snapshot for VM %s"
+msgstr ""
+
+#: nova/virt/hyperv/vif.py:75
+#, python-format
+msgid "Creating vswitch port for instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:91
+#, python-format
+msgid "VIF driver not found for network_api_class: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:100
+msgid "get_info called for instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:121
+#, python-format
+msgid ""
+"Creating differencing VHD. Parent: %(base_vhd_path)s, Target: "
+"%(root_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:128
+#, python-format
+msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:142
+#, python-format
+msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:157
+msgid "Spawning new instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:183
+msgid "Spawn instance failed"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:208
+#, python-format
+msgid "Creating nic for instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:216
+#, python-format
+msgid "Invalid config_drive_format \"%s\""
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:219
+#, python-format
+msgid "Using config drive for instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
+#, python-format
+msgid "Creating config drive at %(path)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
+#, python-format
+msgid "Creating config drive failed with error: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:276
+#, python-format
+msgid "Got request to destroy instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:289
+#, python-format
+msgid "Instance not found: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:295
+#, python-format
+msgid "Failed to destroy instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:300
+msgid "reboot instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:306
+msgid "Pause instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:312
+msgid "Unpause instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:318
+msgid "Suspend instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:324
+msgid "Resume instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:330
+msgid "Power off instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:336
+msgid "Power on instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:343
+#, python-format
+msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:348
+#, python-format
+msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:83
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:160
+#, python-format
+msgid "Creating VM %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:169
+#, python-format
+msgid "Setting memory for vm %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:172
+#, python-format
+msgid "Set vCPUs for vm %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:270
+msgid "Controller not found"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:332
+#, python-format
+msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:374
+#, python-format
+msgid "Operation failed with return value: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:392
+#, python-format
+msgid ""
+"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
+" - %(err_desc)s - Error code: %(err_code)d"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:403
+#, python-format
+msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:409
+#, python-format
+msgid "WMI job failed with status %d. No error description available"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:415
+#, python-format
+msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:98
+#, python-format
+msgid ""
+"Already logged in on storage target. No need to login. Portal: "
+"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:104
+#, python-format
+msgid ""
+"Logging in on storage target. Portal: %(target_portal)s, IQN: "
+"%(target_iqn)s, LUN: %(target_lun)s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:119
+#, python-format
+msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:150
+#, python-format
+msgid "Attach volume failed: %s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:152
+#, python-format
+msgid "Unable to attach volume to instance %s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:165
+#, python-format
+msgid "Logging off storage target %s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:170
+#, python-format
+msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:183
+#, python-format
+msgid "Detaching physical disk from instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
+msgid "Could not determine iscsi initiator name"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
+#, python-format
+msgid "Unable to find a mounted disk for target_iqn: %s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:207
+#, python-format
+msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeutils.py:51
+#, python-format
+msgid "An error has occurred when calling the iscsi initiator: %s"
+msgstr ""
+
+#: nova/virt/libvirt/blockinfo.py:129
+#, python-format
+msgid "Unable to determine disk prefix for %s"
+msgstr ""
+
+#: nova/virt/libvirt/blockinfo.py:177
+#, python-format
+msgid "No free disk device names for prefix '%s'"
+msgstr ""
+
+#: nova/virt/libvirt/blockinfo.py:269
+#, python-format
+msgid "Unable to determine disk bus for '%s'"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:354
+#, python-format
+msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:565
+#, python-format
+msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:579
+#, python-format
+msgid "Connecting to libvirt: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:597
+#, python-format
+msgid "URI %s does not support events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:607
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:617
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:630
+msgid "Connection to libvirt broke"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
+#, python-format
+msgid "Can not handle authentication request for %d credentials"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:673
+#, python-format
+msgid "Connection to libvirt failed: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:782
+#, python-format
+msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:798
+msgid "During wait destroy, instance disappeared."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:803
+msgid "Instance destroyed successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:813
+msgid "Instance may be started again."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:823
+msgid "Going to destroy instance again."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:842
+msgid "Error from libvirt during undefineFlags. Retrying with undefine"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:858
+#, python-format
+msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:878
+msgid "Instance may be still running, destroy it again."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:884
+#, python-format
+msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:913
+#, python-format
+msgid "Deleting instance files %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:922
+#, python-format
+msgid "Failed to cleanup directory %(target)s: %(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:965
+msgid "Could not determine fibre channel world wide node names"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:972
+msgid "Could not determine fibre channel world wide port names"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1096
+msgid "During detach_volume, instance disappeared."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1120
+msgid "attaching network adapter failed."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1140
+msgid "During detach_interface, instance disappeared."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1144
+msgid "detaching network adapter failed."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1242
+msgid "Beginning live snapshot process"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1245
+msgid "Beginning cold snapshot process"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1274
+msgid "Snapshot extracted, beginning image upload"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1286
+msgid "Snapshot image upload complete"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1352
+msgid "Instance soft rebooted successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1356
+msgid "Failed to soft reboot instance."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1394
+msgid "Instance shutdown successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1402
+msgid "Instance may have been rebooted during soft reboot, so return now."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1451
+msgid "Instance rebooted successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1597
+msgid "Instance is running"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
+msgid "Instance spawned successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1620
+#, python-format
+msgid "data: %(data)r, fpath: %(fpath)r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
+#, python-format
+msgid "Truncated console log returned, %d bytes ignored"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
+msgid "Guest does not have a console available"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1742
+#, python-format
+msgid "Path '%(path)s' supports direct I/O"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1746
+#, python-format
+msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
+#, python-format
+msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1827
+msgid "Creating image"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1928
+msgid "Using config drive"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1981
+#, python-format
+msgid "Injecting %(inj)s into image %(img_id)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1993
+#, python-format
+msgid "Error injecting data into image %(img_id)s (%(e)s)"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2053
+#, python-format
+msgid ""
+"Config requested an explicit CPU model, but the current libvirt "
+"hypervisor '%s' does not support selecting CPU models"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2059
+msgid "Config requested a custom CPU model, but no model name was provided"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2063
+msgid "A CPU model name should not be set when a host CPU model is requested"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2067
+#, python-format
+msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2083
+msgid ""
+"Passthrough of the host CPU was requested but this libvirt version does "
+"not support this feature"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2407
+#, python-format
+msgid ""
+"Start to_xml instance=%(instance)s network_info=%(network_info)s "
+"disk_info=%(disk_info)s image_meta=%(image_meta)s "
+"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2424
+#, python-format
+msgid "End to_xml instance=%(instance)s xml=%(xml)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2442
+#, python-format
+msgid ""
+"Error from libvirt while looking up %(instance_id)s: [Error Code "
+"%(error_code)s] %(ex)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2463
+#, python-format
+msgid ""
+"Error from libvirt while looking up %(instance_name)s: [Error Code "
+"%(error_code)s] %(ex)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2679
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2686
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2691
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2708
+msgid ""
+"Cannot get the number of cpu, because this function is not implemented "
+"for this platform. "
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2718
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2770
+#, python-format
+msgid "couldn't obtain the vpu count from domain id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2842
+msgid "libvirt version is too old (does not support getVersion)"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2927
+#, python-format
+msgid "Trying to get stats for the volume %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2940
+#, python-format
+msgid ""
+"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
+"rd_req=%(rd_req)d, rd_bytes=%(rd_bytes)d, wr_req=%(wr_req)d, "
+"wr_bytes=%(wr_bytes)d"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2958
+#, python-format
+msgid ""
+"Getting block stats failed, device might have been detached. "
+"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2964
+#, python-format
+msgid ""
+"Could not find domain in libvirt for instance %s. Cannot get block stats "
+"for device"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3041
+#, python-format
+msgid ""
+"Creating tmpfile %s to verify with other compute node that the instance "
+"is on the same shared storage."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3122
+msgid "Block migration can not be used with shared storage."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3130
+msgid "Live migration can not be used without shared storage."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3174
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s: Disk of instance is too "
+"large(available on destination host:%(available)s < need:%(necessary)s)"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3202
+#, python-format
+msgid ""
+"Instance launched has CPU info:\n"
+"%s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3214
+#, python-format
+msgid ""
+"CPU doesn't have compatibility.\n"
+"\n"
+"%(ret)s\n"
+"\n"
+"Refer to %(u)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3231
+#, python-format
+msgid ""
+"Creating tmpfile %s to notify to other compute nodes that they should "
+"mount the same storage."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3281
+#, python-format
+msgid "The firewall filter for %s does not exist"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3353
+#, python-format
+msgid "Live Migration failure: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3455
+#, python-format
+msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3568
+#, python-format
+msgid ""
+"Error from libvirt while getting description of %(instance_name)s: [Error"
+" Code %(error_code)s] %(ex)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
+#, python-format
+msgid "skipping disk for %s as it does not have a path"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3609
+#, python-format
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3649
+#, python-format
+msgid "Getting disk size of %(i_name)s: %(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3719
+msgid "Starting migrate_disk_and_power_off"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3788
+msgid "Instance running successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3794
+msgid "Starting finish_migration"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3859
+msgid "Starting finish_revert_migration"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3982
+#, python-format
+msgid "Checking instance files accessability %s"
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:51
+msgid ""
+"Libvirt module could not be loaded. NWFilterFirewall will not work "
+"correctly."
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:108
+msgid "Called setup_basic_filtering in nwfilter"
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:116
+msgid "Ensuring static filters"
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:248
+#, python-format
+msgid "The nwfilter(%s) is not found."
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:270
+#, python-format
+msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:288
+msgid "iptables firewall: Setup Basic Filtering"
+msgstr ""
+
+#: nova/virt/libvirt/imagebackend.py:319
+msgid "You should specify libvirt_images_volume_group flag to use LVM images."
+msgstr ""
+
+#: nova/virt/libvirt/imagebackend.py:403
+#, python-format
+msgid "Unknown image_type=%s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:139
+#, python-format
+msgid "Error reading image info file %(filename)s: %(error)s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:178
+#, python-format
+msgid "Reading image info file: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:200
+#, python-format
+msgid "Writing stored info to %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:329
+#, python-format
+msgid "%s is a valid instance name"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:332
+#, python-format
+msgid "%s has a disk file"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:334
+#, python-format
+msgid "Instance %(instance)s is backed by %(backing)s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:347
+#, python-format
+msgid ""
+"Instance %(instance)s is using a backing file %(backing)s which does not "
+"appear in the image service"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:422
+#, python-format
+msgid "image %(id)s at (%(base_file)s): image verification failed"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:432
+#, python-format
+msgid ""
+"image %(id)s at (%(base_file)s): image verification skipped, no hash "
+"stored"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:441
+#, python-format
+msgid "%(id)s (%(base_file)s): generating checksum"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:456
+#, python-format
+msgid "Cannot remove %(base_file)s, it does not exist"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:468
+#, python-format
+msgid "Base file too young to remove: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:471
+#, python-format
+msgid "Removing base file: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:478
+#, python-format
+msgid "Failed to remove %(base_file)s, error was %(error)s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:489
+#, python-format
+msgid "image %(id)s at (%(base_file)s): checking"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:513
+#, python-format
+msgid ""
+"image %(id)s at (%(base_file)s): in use: on this node %(local)d local, "
+"%(remote)d on other nodes sharing this instance storage"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:525
+#, python-format
+msgid ""
+"image %(id)s at (%(base_file)s): warning -- an absent base file is in "
+"use! instances: %(instance_list)s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:537
+#, python-format
+msgid "image %(id)s at (%(base_file)s): image is not in use"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:544
+#, python-format
+msgid "image %(id)s at (%(base_file)s): image is in use"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:568
+#, python-format
+msgid "Skipping verification, no base directory at %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:572
+msgid "Verify base images"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:579
+#, python-format
+msgid "Image id %(id)s yields fingerprint %(fingerprint)s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:597
+#, python-format
+msgid "Unknown base file: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:602
+#, python-format
+msgid "Active base files: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:605
+#, python-format
+msgid "Corrupt base files: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:609
+#, python-format
+msgid "Removable base files: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:617
+msgid "Verification complete"
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
+msgid "systool is not installed"
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:87
+msgid "Cannot find any Fibre Channel HBAs"
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:229
+#, python-format
+msgid ""
+"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
+"available, but %(size)db required by volume %(lv)s."
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:242
+#, python-format
+msgid ""
+"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
+"Virtual volume size is %(size)db, but free space on volume group is only "
+"%(free_space)db."
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:277
+#, python-format
+msgid "vg %s must be LVM volume group"
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:306
+#, python-format
+msgid "Path %s must be LVM logical volume"
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:572
+msgid "Can't retrieve root device path from instance libvirt configuration"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
+#, python-format
+msgid ""
+"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
+"mapping=%(mapping)s"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
+msgid "vif_type parameter must be present for this vif_driver implementation"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
+#, python-format
+msgid "Unexpected vif_type=%s"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:338
+#, python-format
+msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:348
+#, python-format
+msgid "Ensuring bridge %s"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
+msgid "Failed while unplugging vif"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:624
+msgid ""
+"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
+"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
+"together with a network plugin that reports the 'vif_type' attribute"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:651
+msgid ""
+"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
+"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
+"driver, together with a network plugin that reports the 'vif_type' "
+"attribute"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:680
+msgid ""
+"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
+" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
+"driver, together with a network plugin that reports the 'vif_type' "
+"attribute"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:709
+msgid ""
+"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
+"will be removed in the next release. Please use the "
+"LibvirtGenericVIFDriver VIF driver, together with a network plugin that "
+"reports the 'vif_type' attribute"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:736
+msgid ""
+"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
+"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
+"driver, together with a network plugin that reports the 'vif_type' "
+"attribute"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:240
+#, python-format
+msgid "iSCSI device not found at %s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:243
+#, python-format
+msgid ""
+"ISCSI volume not yet found at: %(disk_dev)s. Will rescan & retry. Try "
+"number: %(tries)s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:256
+#, python-format
+msgid "Found iSCSI node %(disk_dev)s (after %(tries)s rescans)"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:514 nova/virt/libvirt/volume.py:635
+#, python-format
+msgid "%s is already mounted"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:562
+#, python-format
+msgid "AoE device not found at %s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:564
+#, python-format
+msgid "AoE volume not yet found at: %(aoedevpath)s. Try number: %(tries)s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:579
+#, python-format
+msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:706
+msgid "We are unable to locate any Fibre Channel devices"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:715
+#, python-format
+msgid "Looking for Fibre Channel dev %(device)s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:725
+msgid "Fibre Channel device not found."
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:728
+#, python-format
+msgid ""
+"Fibre volume not yet found at: %(mount_device)s. Will rescan & retry. "
+"Try number: %(tries)s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:745
+#, python-format
+msgid "Found Fibre Channel volume %(mount_device)s (after %(tries)s rescans)"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:754
+#, python-format
+msgid "Multipath device discovered %(device)s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:831
+msgid "Value required for 'scality_sofs_config'"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:842
+#, python-format
+msgid "Cannot access 'scality_sofs_config': %s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:848
+msgid "Cannot execute /sbin/mount.sofs"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:863
+msgid "Cannot mount Scality SOFS, check syslog for errors"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:149
+#, python-format
+msgid "Removing the logical volume '%s'"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:167
+#, python-format
+msgid "Fetching image '%s' from glance"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:172
+#, python-format
+msgid "Using image found at '%s'"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:174
+#, python-format
+msgid "Ensuring image '%s' exists on IVM"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:186
+#, python-format
+msgid "Creating logical volume of size %s bytes"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:189
+#, python-format
+msgid "Copying image to the device '%s'"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:192
+msgid "Error while creating logical volume from image. Will attempt cleanup."
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:200
+msgid "Error while attempting cleanup of failed deploy to logical volume."
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:246
+msgid "Snapshot added to glance."
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:252
+#, python-format
+msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:337
+msgid "Could not create logical volume. No space left on any volume group."
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:437 nova/virt/powervm/blockdev.py:517
+msgid "Unable to get checksum"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:444 nova/virt/powervm/blockdev.py:533
+msgid "Image checksums do not match"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:469
+#, python-format
+msgid "Image found on host at '%s'"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:477
+msgid "Uncompressed image file not found"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
+#, python-format
+msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
+#, python-format
+msgid "Found error stream for command \"%(command)s\": %(error_text)s"
+msgstr ""
+
+#: nova/virt/powervm/common.py:67
+msgid "Connection error connecting PowerVM manager"
+msgstr ""
+
+#: nova/virt/powervm/common.py:100
+#, python-format
+msgid "Running cmd (SSH-as-root): %s"
+msgstr ""
+
+#: nova/virt/powervm/common.py:149
+msgid "File transfer to PowerVM manager failed"
+msgstr ""
+
+#: nova/virt/powervm/common.py:168
+#, python-format
+msgid "ftp GET %(remote_path)s to: %(local_path)s"
+msgstr ""
+
+#: nova/virt/powervm/common.py:174
+msgid "File transfer from PowerVM manager failed"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:129
+msgid "In get_host_ip_addr"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:132
+#, python-format
+msgid "Attempting to resolve %s"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:134
+#, python-format
+msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:175
+#, python-format
+msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:308
+#, python-format
+msgid "Unrecognized root disk information: %s"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:21
+msgid "Connection to PowerVM manager failed"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:25
+#, python-format
+msgid "File '%(file_path)s' transfer to PowerVM manager failed"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:29
+#, python-format
+msgid "FTP %(ftp_cmd)s from %(source_path)s to %(dest_path)s failed"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:33
+#, python-format
+msgid "LPAR instance '%(instance_name)s' could not be found"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:37
+#, python-format
+msgid "LPAR instance '%(instance_name)s' creation failed"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:41
+msgid "No space left on any volume group"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:49
+#, python-format
+msgid "Operation '%(operation)s' on LPAR '%(instance_name)s' timed out"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:54
+msgid "Image creation failed on PowerVM"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:58
+#, python-format
+msgid ""
+"Insufficient free memory on PowerVM system to spawn instance "
+"'%(instance_name)s'"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:63
+#, python-format
+msgid ""
+"Insufficient available CPUs on PowerVM system to spawn instance "
+"'%(instance_name)s'"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:68
+#, python-format
+msgid "PowerVM LPAR instance '%(instance_name)s' cleanup failed"
+msgstr ""
+
+#: nova/virt/powervm/lpar.py:55
+#, python-format
+msgid ""
+"Encountered unknown LPAR attribute: %s\n"
+"Continuing without storing"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:98
+#, python-format
+msgid "LPAR instance '%s' not found"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:190
+#, python-format
+msgid "PowerVM image creation failed: %s"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:204
+#, python-format
+msgid "Creating LPAR instance '%s'"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:206
+#, python-format
+msgid "LPAR instance '%s' creation failed"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:212
+#, python-format
+msgid "Activating the LPAR instance '%s'"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:229
+#, python-format
+msgid "Instance '%s' failed to boot"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:241
+msgid "Error while attempting to clean up failed instance launch."
+msgstr ""
+
+#: nova/virt/powervm/operator.py:245
+#, python-format
+msgid "Instance spawned in %s seconds"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:256
+#, python-format
+msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
+msgstr ""
+
+#: nova/virt/powervm/operator.py:275
+#, python-format
+msgid "Stopping instance %s for snapshot."
+msgstr ""
+
+#: nova/virt/powervm/operator.py:298
+#, python-format
+msgid "Shutting down the instance '%s'"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:303
+#, python-format
+msgid "Deleting the LPAR instance '%s'"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:315
+msgid "PowerVM instance cleanup failed"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
+msgid "Not enough free memory in the host"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
+msgid "Insufficient available CPU on PowerVM"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:144
+msgid ""
+"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
+"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
+" vmwareapi.VMwareVCDriver"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
+#, python-format
+msgid "VMware Cluster %s is not found"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:497
+#, python-format
+msgid "In vmwareapi:_create_session, got this exception: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:580
+#, python-format
+msgid "In vmwareapi:_call_method, got this exception: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:616
+#, python-format
+msgid "Task [%(task_name)s] %(task_ref)s status: success"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:621
+#, python-format
+msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:625
+#, python-format
+msgid "In vmwareapi:_poll_task, Got this error %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/error_util.py:93
+#, python-format
+msgid "Error(s) %s occurred in the call to RetrieveProperties"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
+#, python-format
+msgid "%(text)s: _db_content => %(content)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:189
+#, python-format
+msgid "Property %(attr)s not set for the managed object %(name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:591
+msgid "There is no VM registered"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
+#, python-format
+msgid "Virtual Machine with ref %s is not there"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:656
+#, python-format
+msgid "Logging out a session that is invalid or already logged out: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:671
+msgid "Session is faulty"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:674
+msgid "Session Invalid"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:767
+msgid "No Virtual Machine has been registered yet"
+msgstr ""
+
+#: nova/virt/vmwareapi/host.py:40
+#, python-format
+msgid "%(action)s %(host)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/host.py:64
+#, python-format
+msgid "Set maintenance mod on %(host)s to %(mode)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/io_util.py:118
+#, python-format
+msgid "Glance image %s is in killed state"
+msgstr ""
+
+#: nova/virt/vmwareapi/io_util.py:126
+#, python-format
+msgid "Glance image %(image_id)s is in unknown state - %(state)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/network_util.py:135
+msgid ""
+"ESX SOAP server returned an empty port group for the host system in its "
+"response"
+msgstr ""
+
+#: nova/virt/vmwareapi/network_util.py:161
+#, python-format
+msgid "Creating Port Group with name %s on the ESX host"
+msgstr ""
+
+#: nova/virt/vmwareapi/network_util.py:175
+#, python-format
+msgid "Created Port Group with name %s on the ESX host"
+msgstr ""
+
+#: nova/virt/vmwareapi/read_write_util.py:145
+#, python-format
+msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vim.py:84
+msgid "Unable to import suds."
+msgstr ""
+
+#: nova/virt/vmwareapi/vim.py:169
+#, python-format
+msgid "No such SOAP method '%s' provided by VI SDK"
+msgstr ""
+
+#: nova/virt/vmwareapi/vim.py:174
+#, python-format
+msgid "httplib error in %s: "
+msgstr ""
+
+#: nova/virt/vmwareapi/vim.py:181
+#, python-format
+msgid "Socket error in %s: "
+msgstr ""
+
+#: nova/virt/vmwareapi/vim.py:186
+#, python-format
+msgid "Type error in %s: "
+msgstr ""
+
+#: nova/virt/vmwareapi/vim.py:190
+#, python-format
+msgid "Exception in %s "
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:92
+msgid "Getting list of instances"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:108
+#, python-format
+msgid "Got total of %s instances"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:199
+msgid "Creating VM on the ESX host"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:207
+msgid "Created VM on the ESX host"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:231
+#, python-format
+msgid ""
+"Creating Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter "
+"type %(adapter_type)s on the ESX host local store %(data_store_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:250
+#, python-format
+msgid ""
+"Created Virtual Disk of size %(vmdk_file_size_in_kb)s KB and type "
+"%(disk_type)s on the ESX host local store %(data_store_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:259
+#, python-format
+msgid ""
+"Deleting the file %(vmdk_path)s on the ESX host localstore "
+"%(data_store_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:273
+#, python-format
+msgid ""
+"Deleted the file %(vmdk_path)s on the ESX host local store "
+"%(data_store_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:281
+#, python-format
+msgid ""
+"Downloading image file data %(image_ref)s to the ESX data store "
+"%(data_store_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:301
+#, python-format
+msgid ""
+"Downloaded image file data %(image_ref)s to %(upload_vmdk_name)s on the "
+"ESX data store %(data_store_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:315
+#, python-format
+msgid ""
+"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
+" %(adapter_type)s on the ESX host local store %(data_store_name)s to disk"
+" type %(disk_type)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:336
+#, python-format
+msgid ""
+"Copied Virtual Disk of size %(vmdk_file_size_in_kb)s KB and type "
+"%(disk_type)s on the ESX host local store %(data_store_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:415
+msgid "Powering on the VM instance"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:421
+msgid "Powered on the VM instance"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:464
+msgid "Creating Snapshot of the VM instance"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:474
+msgid "Created Snapshot of the VM instance"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:519
+msgid "Copying disk data before snapshot of the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:532
+msgid "Copied disk data before snapshot of the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:541
+#, python-format
+msgid "Uploading image %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:555
+#, python-format
+msgid "Uploaded image %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:568
+#, python-format
+msgid "Deleting temporary vmdk file %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:577
+#, python-format
+msgid "Deleted temporary vmdk file %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:606
+msgid "instance is not powered on"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:613
+msgid "Rebooting guest OS of VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:616
+msgid "Rebooted guest OS of VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:618
+msgid "Doing hard reboot of VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:622
+msgid "Did hard reboot of VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
+msgid "Destroying the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
+msgid "Destroyed the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:641
+#, python-format
+msgid "In vmwareapi:vmops:delete, got this exception while destroying the VM: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
+msgid "Powering off the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
+msgid "Powered off the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:684
+msgid "Unregistering the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:687
+msgid "Unregistered the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:689
+#, python-format
+msgid ""
+"In vmwareapi:vmops:destroy, got this exception while un-registering the "
+"VM: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:702
+#, python-format
+msgid "Deleting contents of the VM from datastore %(datastore_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:714
+#, python-format
+msgid "Deleted contents of the VM from datastore %(datastore_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:719
+#, python-format
+msgid ""
+"In vmwareapi:vmops:destroy, got this exception while deleting the VM "
+"contents from the disk: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:727
+msgid "pause not supported for vmwareapi"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:731
+msgid "unpause not supported for vmwareapi"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:742
+msgid "Suspending the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:746
+msgid "Suspended the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:749
+msgid "instance is powered off and cannot be suspended."
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:752
+msgid "VM was already in suspended state. So returning without doing anything"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:762
+msgid "Resuming the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:767
+msgid "Resumed the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:769
+msgid "instance is not in a suspended state"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:829
+msgid "instance is suspended and cannot be powered off."
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:832
+msgid "VM was already in powered off state. So returning without doing anything"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:843
+msgid "VM was already in powered on state. So returning without doing anything"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:847
+msgid "Powering on the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:852
+msgid "Powered on the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:872
+#, python-format
+msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:901
+#, python-format
+msgid "Renaming the VM to %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:907
+#, python-format
+msgid "Renamed the VM to %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:922
+#, python-format
+msgid "Cloning VM to host %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:930
+#, python-format
+msgid "Cloned VM to host %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:943
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:954
+#, python-format
+msgid ""
+"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
+" the VM: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:970
+#, python-format
+msgid "Renaming the VM from %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:976
+#, python-format
+msgid "Renamed the VM from %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1001
+#, python-format
+msgid "Migrating VM to host %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1013
+#, python-format
+msgid "Migrated VM to host %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
+#, python-format
+msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1027
+#, python-format
+msgid "Automatically hard rebooting %d"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1061
+msgid "get_diagnostics not implemented for vmwareapi"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
+msgid "Reconfiguring VM instance to set the machine id"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1164
+msgid "Reconfigured VM instance to set the machine id"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1176
+#, python-format
+msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1183
+#, python-format
+msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1276
+#, python-format
+msgid "Creating directory with path %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1282
+#, python-format
+msgid "Created directory with path %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:92
+#, python-format
+msgid "Downloading image %s from glance image server"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:108
+#, python-format
+msgid "Downloaded image %s from glance image server"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:114
+#, python-format
+msgid "Uploading image %s to the Glance image server"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:140
+#, python-format
+msgid "Uploaded image %s to the Glance image server"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:151
+#, python-format
+msgid "Getting image size for the image %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:156
+#, python-format
+msgid "Got image size of %(size)s for the image %(image)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volume_util.py:163
+#, python-format
+msgid "Rescanning HBA %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volume_util.py:166
+#, python-format
+msgid "Rescanned HBA %s "
+msgstr ""
+
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
+#, python-format
+msgid "Mountpoint cannot be translated: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:57
+#, python-format
+msgid ""
+"Reconfiguring VM instance %(instance_name)s to attach disk %(vmdk_path)s "
+"or device %(device_name)s with type %(disk_type)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:65
+#, python-format
+msgid ""
+"Reconfigured VM instance %(instance_name)s to attach disk %(vmdk_path)s "
+"or device %(device_name)s with type %(disk_type)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:77
+#, python-format
+msgid "Reconfiguring VM instance %(instance_name)s to detach disk %(disk_key)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:84
+#, python-format
+msgid "Reconfigured VM instance %(instance_name)s to detach disk %(disk_key)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:91
+#, python-format
+msgid "Discovering iSCSI target %(target_iqn)s from %(target_portal)s."
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:96
+msgid "Storage target found. No need to discover"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:104
+#, python-format
+msgid "Discovered iSCSI target %(target_iqn)s from %(target_portal)s."
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:107
+#, python-format
+msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:127
+#, python-format
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:138 nova/virt/vmwareapi/volumeops.py:177
+msgid "Unable to find iSCSI Target"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:60
+#, python-format
+msgid "Mountpoint %(mountpoint)s attached to instance %(instance_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
+#, python-format
+msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:185
+msgid "Unable to find volume"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:151
+#, python-format
+msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
+#, python-format
+msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
+#, python-format
+msgid ""
+"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
+"args=%(args)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
+#, python-format
+msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:122
+#, python-format
+msgid ""
+"The agent call to %(method)s returned an invalid response: %(ret)r. "
+"args=%(args)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:129
+#, python-format
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:155
+msgid "Querying agent version"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:174
+#, python-format
+msgid "Updating agent to %s"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:183
+#, python-format
+msgid "Unable to update the agent due to: %(exc)s"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:215
+msgid "Setting admin password"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:231
+msgid "Skipping setting of ssh key for Windows."
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:247
+#, python-format
+msgid "Injecting file path: %r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:257
+msgid "Resetting network"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:279
+msgid ""
+"XenServer tools installed in this image are capable of network injection."
+" Networking files will not bemanipulated"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:287
+msgid ""
+"XenServer tools are present in this image but are not capable of network "
+"injection"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:291
+msgid "XenServer tools are not installed in this image"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:305
+msgid "Invalid 'agent_present' value. Falling back to the default."
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:358
+#, python-format
+msgid "OpenSSL error: %s"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:134
+msgid ""
+"Must specify xenapi_connection_url, xenapi_connection_username "
+"(optionally), and xenapi_connection_password to use "
+"compute_driver=xenapi.XenAPIDriver"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:161
+msgid "Failure while cleaning up attached VDIs"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:349
+#, python-format
+msgid "Could not determine key: %s"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:572
+msgid "Host startup on XenServer is not supported."
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:633
+msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:673
+msgid "Host is member of a pool, but DB says otherwise"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
+#, python-format
+msgid "Got exception: %s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
+msgid "Raising NotImplemented"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:714
+#, python-format
+msgid "xenapi.fake does not have an implementation for %s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:747
+#, python-format
+msgid "Calling %(name)s %(impl)s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:753
+#, python-format
+msgid "Calling getter %s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:756
+#, python-format
+msgid "Calling setter %s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:818
+#, python-format
+msgid ""
+"xenapi.fake does not have an implementation for %s or it has been called "
+"with the wrong number of arguments"
+msgstr ""
+
+#: nova/virt/xenapi/host.py:70
+#, python-format
+msgid ""
+"Instance %(name)s running on %(host)s could not be found in the database:"
+" assuming it is a worker VM and skip ping migration to a new host"
+msgstr ""
+
+#: nova/virt/xenapi/host.py:82
+#, python-format
+msgid "Aggregate for host %(host)s count not be found."
+msgstr ""
+
+#: nova/virt/xenapi/host.py:101
+#, python-format
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
+msgstr ""
+
+#: nova/virt/xenapi/host.py:185
+#, python-format
+msgid "Failed to extract instance support from %s"
+msgstr ""
+
+#: nova/virt/xenapi/host.py:202
+msgid "Unable to get updated status"
+msgstr ""
+
+#: nova/virt/xenapi/host.py:205
+#, python-format
+msgid "The call to %(method)s returned an error: %(e)s."
+msgstr ""
+
+#: nova/virt/xenapi/network_utils.py:29
+#, python-format
+msgid "Found non-unique network for name_label %s"
+msgstr ""
+
+#: nova/virt/xenapi/network_utils.py:47
+#, python-format
+msgid "Found non-unique network for bridge %s"
+msgstr ""
+
+#: nova/virt/xenapi/network_utils.py:49
+#, python-format
+msgid "Found no network for bridge %s"
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:70
+#, python-format
+msgid ""
+"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
+"%(host)s"
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:158
+#, python-format
+msgid "Unable to eject %s from the pool; pool not empty"
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:175
+#, python-format
+msgid "Unable to eject %s from the pool; No master found"
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:192
+#, python-format
+msgid "Pool-Join failed: %s"
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:195
+#, python-format
+msgid "Unable to join %s in the pool"
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:211
+#, python-format
+msgid "Pool-eject failed: %s"
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:223
+#, python-format
+msgid "Unable to set up pool: %s."
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:234
+#, python-format
+msgid "Pool-set_name_label failed: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vif.py:101
+#, python-format
+msgid "Found no PIF for device %s"
+msgstr ""
+
+#: nova/virt/xenapi/vif.py:120
+#, python-format
+msgid ""
+"PIF %(pif_uuid)s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"Expected %(vlan_num)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:275
+msgid "Created VM"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:287
+msgid "VM destroyed"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:292 nova/virt/xenapi/vm_utils.py:307
+msgid "VM already halted, skipping shutdown..."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:296
+msgid "Shutting down VM (cleanly)"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:311
+msgid "Shutting down VM (hard)"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:349
+#, python-format
+msgid "VBD not found in instance %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:366
+#, python-format
+msgid "VBD %s already detached"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:369
+#, python-format
+msgid "VBD %(vbd_ref)s detach rejected, attempt %(num_attempt)d/%(max_attempts)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:376
+#, python-format
+msgid "Unable to unplug VBD %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:381
+#, python-format
+msgid "Reached maximum number of retries trying to unplug VBD %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:392
+#, python-format
+msgid "Unable to destroy VBD %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:414
+#, python-format
+msgid "Creating %(vbd_type)s-type VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... "
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:418
+#, python-format
+msgid "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:445
+#, python-format
+msgid "Unable to destroy VDI %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:472
+#, python-format
+msgid ""
+"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s)"
+" on %(sr_ref)s."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:488
+msgid "SR not present and could not be introduced"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:513
+#, python-format
+msgid "block device info: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:599
+#, python-format
+msgid "Cloned VDI %(vdi_ref)s from VDI %(vdi_to_clone_ref)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:645
+#, python-format
+msgid "No primary VDI found for %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:657
+msgid "Starting snapshot for VM"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:707
+#, python-format
+msgid "Destroying cached VDI '%(vdi_uuid)s'"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:807
+msgid "Disk must have only one partition."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:815
+#, python-format
+msgid "Disk contains a filesystem we are unable to resize: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:824
+#, python-format
+msgid "Attempted auto_configure_disk failed because: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:973
+#, python-format
+msgid ""
+"Fast cloning is only supported on default local SR of type ext. SR on "
+"this system was found to be of type %s. Ignoring the cow flag."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1028
+#, python-format
+msgid "Unrecognized cache_images value '%s', defaulting to True"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1062
+#, python-format
+msgid "Fetched VDIs of type '%(vdi_type)s' with UUID '%(vdi_uuid)s'"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1075
+#, python-format
+msgid ""
+"download_vhd %(image_id)s, attempt %(attempt_num)d/%(max_attempts)d, "
+"params: %(params)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1089
+#, python-format
+msgid "download_vhd failed: %r"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1124
+#, python-format
+msgid "Invalid value '%s' for xenapi_torrent_images"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1135
+#, python-format
+msgid "Asking xapi to fetch vhd image %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1208
+#, python-format
+msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1226
+#, python-format
+msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1250
+#, python-format
+msgid "Fetching image %(image_id)s, type %(image_type_str)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1264
+#, python-format
+msgid "Size for image %(image_id)s: %(virtual_size)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1274
+#, python-format
+msgid ""
+"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
+"bytes"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1294
+#, python-format
+msgid "Copying VDI %s to /boot/guest on dom0"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1308
+#, python-format
+msgid "Kernel/Ramdisk VDI %s destroyed"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1317
+msgid "Failed to fetch glance image"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1358
+#, python-format
+msgid "Detected %(image_type_str)s format for image %(image_ref)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1389
+#, python-format
+msgid "Looking up vdi %s for PV kernel"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1407
+#, python-format
+msgid ""
+"Image format is None: trying to determine PV status using pygrub; if "
+"instance with vdi %s does not boot correctly, try with image metadata."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1413
+#, python-format
+msgid "Unknown image format %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1444
+#, python-format
+msgid "VDI %s is still available"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1547
+#, python-format
+msgid "Unable to parse rrd of %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1575
+#, python-format
+msgid "Re-scanning SR %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1603
+#, python-format
+msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1621
+msgid ""
+"XenAPI is unable to find a Storage Repository to install guest instances "
+"on. Please check your configuration and/or configure the flag "
+"'sr_matching_filter'"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1634
+msgid "Cannot find SR of content-type ISO"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1642
+#, python-format
+msgid "ISO: looking at SR %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1644
+msgid "ISO: not iso content"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1647
+msgid "ISO: iso content_type, no 'i18n-key' key"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1650
+msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1654
+msgid "ISO: SR MATCHing our criteria"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1656
+msgid "ISO: ISO, looking to see if it is host local"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1659
+#, python-format
+msgid "ISO: PBD %s disappeared"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1662
+#, python-format
+msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1665
+msgid "ISO: SR with local PBD"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1687
+#, python-format
+msgid ""
+"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
+"%(server)s."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1704
+#, python-format
+msgid "Unable to obtain RRD XML updates with server details: %s."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1758
+#, python-format
+msgid "Invalid statistics data from Xenserver: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1818
+#, python-format
+msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1906
+#, python-format
+msgid ""
+"Parent %(parent_uuid)s doesn't match original parent "
+"%(original_parent_uuid)s, waiting for coalesce..."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1918
+#, python-format
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1953
+#, python-format
+msgid "Timeout waiting for device %s to be created"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1973
+#, python-format
+msgid "Disconnecting stale VDI %s from compute domU"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1986
+#, python-format
+msgid "Plugging VBD %s ... "
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1989
+#, python-format
+msgid "Plugging VBD %s done."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1991
+#, python-format
+msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1995
+#, python-format
+msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2001
+#, python-format
+msgid "Destroying VBD for VDI %s ... "
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2009
+#, python-format
+msgid "Destroying VBD for VDI %s done."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2036
+#, python-format
+msgid "Running pygrub against %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2044
+#, python-format
+msgid "Found Xen kernel %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2046
+msgid "No Xen kernel found. Booting HVM."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2048
+msgid ""
+"Error while executing pygrub! Please, ensure the binary is installed "
+"correctly, and available in your PATH; on some Linux distros, pygrub may "
+"be installed in /usr/lib/xen-X.Y/bin/pygrub. Attempting to boot in HVM "
+"mode."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2065
+msgid "Partitions:"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2071
+#, python-format
+msgid " %(num)s: %(ptype)s %(size)d sectors"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2097
+#, python-format
+msgid ""
+"Writing partition table %(primary_first)d %(primary_last)d to "
+"%(dev_path)s..."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2112
+#, python-format
+msgid "Writing partition table %s done."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2153
+#, python-format
+msgid ""
+"Resize down not allowed because minimum filesystem sectors "
+"%(min_sectors)d is too big for target sectors %(new_sectors)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2196
+#, python-format
+msgid ""
+"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
+"virtual_size=%(virtual_size)d block_size=%(block_size)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2232
+#, python-format
+msgid ""
+"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
+"reduction in size"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2285
+msgid "Manipulating interface files directly"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2294
+#, python-format
+msgid "Failed to mount filesystem (expected for non-linux instances): %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2407
+msgid "This domU must be running on the host specified by xenapi_connection_url"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
+#, python-format
+msgid "Updating progress to %d"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:175
+#, python-format
+msgid "Importing image upload handler: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:190
+msgid "Error: Agent is disabled"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:309
+msgid "Starting instance"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:395
+msgid "Removing kernel/ramdisk files from dom0"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:468
+#, python-format
+msgid "Block device information present: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:499
+msgid "Failed to spawn, rolling back"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:594
+msgid "Auto configuring disk, attempting to resize partition..."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:640
+msgid "Starting VM"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:646
+msgid "Waiting for instance state to become running"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:660
+#, python-format
+msgid ""
+"Latest agent build for %(hypervisor)s/%(os)s/%(architecture)s is "
+"%(version)s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:663
+#, python-format
+msgid "No agent build found for %(hypervisor)s/%(os)s/%(architecture)s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:674
+#, python-format
+msgid "Instance agent version: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:705
+msgid "Setting VCPU weight"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:716
+#, python-format
+msgid "Could not find VM with name %s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:774
+msgid "Finished snapshot and upload for VM"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:778
+#, python-format
+msgid "Migrating VHD '%(vdi_uuid)s' with seq_num %(seq_num)d"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:787
+msgid "Failed to transfer vhd to new host"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:813
+msgid "VM was already shutdown."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:817
+msgid "Clean shutdown did not complete successfully, trying hard shutdown."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:821
+msgid "Unable to terminate instance."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:875
+#, python-format
+msgid "_migrate_disk_resizing_down failed. Restoring orig vm due_to: %s."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:991
+#, python-format
+msgid "Resizing up VDI %(vdi_uuid)s from %(old_gb)dGB to %(new_gb)dGB"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:998
+msgid "Resize complete"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1043
+msgid "Starting halted instance found during reboot"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1049
+msgid ""
+"Reboot failed due to bad volumes, detaching bad volumes and starting "
+"halted instance"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1151
+msgid "Unable to find root VBD/VDI for VM"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1155
+msgid "Destroying VDIs"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1182
+msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1189
+msgid "instance has a kernel or ramdisk but not both"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1196
+msgid "kernel/ramdisk files removed"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1223
+msgid "Destroying VM"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1252
+msgid "VM is not present, skipping destroy..."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1303
+#, python-format
+msgid "Instance is already in Rescue Mode: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1337
+msgid "VM is not present, skipping soft delete..."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1390
+msgid "Automatically hard rebooting"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1540
+msgid "Injecting network info to xenstore"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1562
+msgid "Creating vifs"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1571
+#, python-format
+msgid "Creating VIF for network %s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1574
+#, python-format
+msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1603
+msgid "Injecting hostname to xenstore"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1707
+#, python-format
+msgid "Destination host:%s must be in the same aggregate as the source server"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1728
+msgid "No suitable network for migrate"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1740
+msgid "Migrate Receive failed"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1814
+msgid "XAPI supporting relax-xsm-sr-check=true requried"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1825
+msgid "VM.assert_can_migrate failed"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1878
+msgid "Migrate Send failed"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:51
+#, python-format
+msgid "Creating SR %s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:61
+#, python-format
+msgid "Introducing SR %s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:68
+msgid "Creating PBD for SR"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:71
+msgid "Plugging SR"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:82
+msgid "Forgetting SR..."
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:104
+#, python-format
+msgid "Unable to find SR from VBD %s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:121
+#, python-format
+msgid "Ignoring exception %(exc)s when getting PBDs for %(sr_ref)s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:129
+#, python-format
+msgid "Ignoring exception %(exc)s when unplugging PBD %(pbd)s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:153
+#, python-format
+msgid "Unable to introduce VDI on SR %s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:161
+#, python-format
+msgid "Unable to get record of VDI %s on"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:183
+#, python-format
+msgid "Unable to introduce VDI for SR %s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:193
+msgid "Cannot purge SR with referenced VDIs"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
+#, python-format
+msgid "Unable to obtain target information %s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
+#: nova/virt/xenapi/volumeops.py:47
+#, python-format
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
+msgstr ""
+
+#: nova/virt/xenapi/volumeops.py:74
+#, python-format
+msgid "Connect_volume: %s"
+msgstr ""
+
+#: nova/virt/xenapi/volumeops.py:143
+#, python-format
+msgid "Skipping detach because VBD for %s was not found"
+msgstr ""
+
+#: nova/virt/xenapi/imageupload/glance.py:69
+#, python-format
+msgid ""
+"Asking xapi to upload to glance %(vdi_uuids)s as ID %(image_id)s glance "
+"server: %(glance_host)s:%(glance_port)d attempt "
+"%(attempt_num)d/%(max_attempts)d"
+msgstr ""
+
+#: nova/virt/xenapi/imageupload/glance.py:87
+#, python-format
+msgid "upload_vhd failed: %r"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:95 nova/vnc/xvp_proxy.py:100
+#, python-format
+msgid "Error in handshake: %s"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:115
+#, python-format
+msgid "Invalid request: %s"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:135
+#, python-format
+msgid "Request: %s"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:138
+#, python-format
+msgid "Request made with missing token: %s"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:148
+#, python-format
+msgid "Request made with invalid token: %s"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:155
+#, python-format
+msgid "Unexpected error: %s"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:175
+#, python-format
+msgid "Starting nova-xvpvncproxy node (version %s)"
+msgstr ""
+
+#: nova/volume/cinder.py:98
+#, python-format
+msgid "Cinderclient connection created using URL: %s"
+msgstr ""
+
+#: nova/volume/cinder.py:229
+msgid "status must be 'in-use'"
+msgstr ""
+
+#: nova/volume/cinder.py:235
+msgid "status must be 'available'"
+msgstr ""
+
+#~ msgid ""
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
+#~ msgstr ""
+
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
+#~ msgstr ""
+
+#~ msgid "Logging off storage target %(target_iqn)s"
+#~ msgstr ""
+
diff --git a/nova/locale/pt/LC_MESSAGES/nova.po b/nova/locale/pt/LC_MESSAGES/nova.po
index 26f474ed5..534857f02 100644
--- a/nova/locale/pt/LC_MESSAGES/nova.po
+++ b/nova/locale/pt/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Portuguese "
@@ -80,298 +80,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1715,261 +1746,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2139,89 +2165,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2269,6 +2313,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2315,21 +2360,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2337,6 +2385,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2361,6 +2411,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2374,14 +2425,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2398,6 +2449,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2414,273 +2466,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2721,6 +2777,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2760,6 +2817,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2852,36 +2910,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2921,32 +2988,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2957,40 +3024,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3024,7 +3098,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3072,7 +3146,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3263,30 +3337,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3298,7 +3378,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3315,16 +3395,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3348,7 +3428,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3407,12 +3487,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3431,152 +3516,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3588,7 +3686,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3621,35 +3719,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3670,312 +3817,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3989,244 +4136,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4290,12 +4437,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4316,653 +4463,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5062,11 +5233,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5082,15 +5253,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5169,7 +5359,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5191,44 +5381,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5259,43 +5449,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5324,47 +5514,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5570,42 +5760,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5725,13 +5915,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5766,151 +5956,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5931,12 +6122,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6139,11 +6330,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6193,11 +6394,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6622,86 +6818,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6736,35 +6929,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6788,7 +6981,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6806,10 +6999,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6857,13 +7063,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7048,59 +7259,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7220,19 +7433,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7242,25 +7455,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7269,7 +7482,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7291,20 +7504,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7323,37 +7536,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7401,85 +7614,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7564,24 +7777,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7591,7 +7804,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7605,22 +7818,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7733,12 +7942,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7991,12 +8200,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8025,23 +8234,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8054,7 +8263,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8073,19 +8282,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8174,17 +8383,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8203,11 +8412,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8231,45 +8440,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8288,12 +8497,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8313,41 +8522,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8373,98 +8582,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8498,29 +8707,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8532,53 +8741,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8608,240 +8817,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8849,75 +9054,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8925,50 +9146,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8978,69 +9199,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9059,15 +9285,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9221,22 +9447,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9244,61 +9470,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9306,7 +9533,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9314,7 +9541,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9322,7 +9549,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9482,12 +9709,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9514,16 +9741,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9533,7 +9760,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9606,105 +9833,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9714,39 +9945,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9958,11 +10189,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10067,100 +10298,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10205,7 +10441,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10281,106 +10517,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10396,54 +10613,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10703,228 +10920,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10932,58 +11149,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11249,11 +11466,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11287,32 +11509,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11330,212 +11552,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/pt_BR/LC_MESSAGES/nova.po b/nova/locale/pt_BR/LC_MESSAGES/nova.po
index d6a55a413..dcc81ba4c 100644
--- a/nova/locale/pt_BR/LC_MESSAGES/nova.po
+++ b/nova/locale/pt_BR/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2012-05-04 19:25+0000\n"
"Last-Translator: Júlio Cezar Santos Pires <Unknown>\n"
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
@@ -80,301 +80,301 @@ msgstr "Falhou ao reiniciar instância"
msgid "Flags path: %s"
msgstr "Localização dos sinalizadores: %s"
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, fuzzy, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr "Falhou ao descriptografar texto"
-#: nova/exception.py:167
+#: nova/exception.py:169
#, fuzzy, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr "Falhou ao descriptografar texto"
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr "Não autorizado."
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr "Usuário não tem privilégios de administrador"
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, fuzzy, python-format
msgid "Image %(image_id)s is not active."
msgstr "Imagem %(image_id)s não foi encontrada."
-#: nova/exception.py:202
+#: nova/exception.py:204
#, fuzzy, python-format
msgid "Not authorized for image %(image_id)s."
msgstr "Kernel não encontrado para a imagem %(image_id)s."
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr "Parâmetros inaceitáveis."
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr "A requisição é inválida."
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr "Dados recebidos é inválido"
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr "Volume inválido"
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
#, fuzzy
msgid "Invalid metadata size"
msgstr "Assinatura inválida para usuário %s"
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr "Sequencia de porta %(from_port)s:%(to_port)s é inválida. %(msg)s"
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "Protocolo IP %(protocol)s é inválido."
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "Tipo de conteúdo %(content_type)s é inválido."
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr "%(err)s"
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "A instância %(instance_id)s não está executando."
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "A instância %(instance_id)s não está executando."
-#: nova/exception.py:327
+#: nova/exception.py:329
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "A instância %(instance_id)s não está executando."
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr "Falha ao suspender instância"
-#: nova/exception.py:335
+#: nova/exception.py:337
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Falhou em atualizar senha: %(resp)r"
-#: nova/exception.py:339
+#: nova/exception.py:341
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "Falha ao suspender instância"
-#: nova/exception.py:343
+#: nova/exception.py:345
#, fuzzy, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr "Falhou ao reiniciar instância"
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr "Falhou ao reiniciar instância"
-#: nova/exception.py:351
+#: nova/exception.py:353
#, fuzzy
msgid "Failed to terminate instance"
msgstr "Falhou ao reiniciar instância"
-#: nova/exception.py:355
+#: nova/exception.py:357
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Falhou ao reiniciar instância"
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr "Serviço está indisponível neste momento"
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, fuzzy, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr "Serviço está indisponível neste momento"
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr "%(address)s não é um endereço IPv4/6 válido."
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -382,86 +382,86 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr "Formato do disco %(disk_format)s não é aceito"
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "Dados recebidos é inválido"
-#: nova/exception.py:448
+#: nova/exception.py:450
#, fuzzy
msgid "Constraint not met."
msgstr "Instância não existe"
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr "Volume %(volume_id)s não pode ser encontrado."
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr "Imagem %(image_id)s não foi encontrada."
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -469,897 +469,918 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr "Projeto %(project_id)s não foi encontrado."
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, fuzzy, python-format
msgid "Network %(network_id)s is duplicated."
msgstr "Rede %(network_id)s não foi encontrada."
-#: nova/exception.py:509
+#: nova/exception.py:511
#, fuzzy, python-format
msgid "Network %(network_id)s is still in use."
msgstr "Rede %(network_id)s não foi encontrada."
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr "%(req)s é necessário para criar a rede."
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr "Rede %(network_id)s não foi encontrada."
-#: nova/exception.py:521
+#: nova/exception.py:523
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "Projeto %(project_id)s não foi encontrado."
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr "Nenhuma rede definida."
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, fuzzy, python-format
msgid "Port %(port_id)s is still in use."
msgstr "Rede %(network_id)s não foi encontrada."
-#: nova/exception.py:558
+#: nova/exception.py:560
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "Ponto de montagem %(mountpoint)s conectada à instância %(instance_name)s"
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr "A instância %(instance_id)s não está executando."
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr "A instância %(instance_id)s não está executando."
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, fuzzy, python-format
msgid "Floating ip %(address)s already exists."
msgstr "group %s já existe"
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
#, fuzzy
msgid "Floating ip pool not found."
msgstr "Removendo rede com id %s"
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr "Interface %(interface)s não encontrada."
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr "Certificado %(certificate_id)s não encontrado."
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr "Serviço %(service_id)s não encontrado."
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr "Host %(host)s não encontrado."
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, fuzzy, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr "Host %(host)s não encontrado."
-#: nova/exception.py:722
+#: nova/exception.py:720
#, fuzzy, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr "Projeto %(project_id)s não foi encontrado."
-#: nova/exception.py:726
+#: nova/exception.py:724
#, fuzzy, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr "Usuário %(user_id)s não foi encontrado."
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, fuzzy, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr "A instância %(instance_id)s não está executando."
-#: nova/exception.py:798
+#: nova/exception.py:796
#, fuzzy, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr "A instância %(instance_id)s não está executando."
-#: nova/exception.py:803
+#: nova/exception.py:801
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "Tipo de conteúdo %(content_type)s é inválido."
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "Instância não existe"
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, fuzzy, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr "Volume não encontrada para a instância %(instance_id)s."
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, fuzzy, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr "group %s já existe"
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, fuzzy, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr "group %s já existe"
-#: nova/exception.py:921
+#: nova/exception.py:923
#, fuzzy, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr "group %s já existe"
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "A instância %(instance_id)s não está executando."
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "Volume %(volume_id)s não pode ser encontrado."
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, fuzzy, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr "Projeto %(project_id)s não foi encontrado."
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, fuzzy, python-format
msgid "Marker %(marker)s could not be found."
msgstr "Imagem %(image_id)s não foi encontrada."
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "Kernel não encontrado para a imagem %(image_id)s."
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "Kernel não encontrado para a imagem %(image_id)s."
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr "A instância %(instance_id)s não está executando."
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Começando a terminar instâncias"
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "Começando a terminar instâncias"
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, fuzzy, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr "A instância %(instance_id)s não está executando."
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, fuzzy, python-format
msgid "The CA file for %(project)s could not be found"
msgstr "Projeto %(project_id)s não foi encontrado."
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, fuzzy, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr "Projeto %(project_id)s não foi encontrado."
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "A instância %(instance_id)s não está executando."
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "A instância %(instance_id)s não está executando."
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "group %s já existe"
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, fuzzy, python-format
msgid "Unsupported object type %(objtype)s"
msgstr "Objeto esperado do tipo: %s"
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1374,15 +1395,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Falha ao obter metadados para o ip: %s"
@@ -1405,17 +1426,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1448,120 +1469,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr "depuração em retorno de chamada: %s"
-#: nova/utils.py:334
+#: nova/utils.py:362
+#, python-format
+msgid "Couldn't get IPv4 : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:379
+#, python-format
+msgid "IPv4 address is not found.: %s"
+msgstr ""
+
+#: nova/utils.py:382
+#, python-format
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:397
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "Endereço para Link Local não encontrado: %s"
-#: nova/utils.py:337
+#: nova/utils.py:400
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr "Não foi possível atribuir um IP para o Link Local de %(interface)s :%(ex)s"
-#: nova/utils.py:376
+#: nova/utils.py:439
#, python-format
msgid "Invalid backend: %s"
msgstr "Backend inválido: %s"
-#: nova/utils.py:437
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr "Objeto esperado do tipo: %s"
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, fuzzy, python-format
msgid "Unable to find cert_file : %s"
msgstr "Não é possível localizar o volume %s"
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, fuzzy, python-format
msgid "Unable to find ca_file : %s"
msgstr "Não é possível localizar o volume %s"
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, fuzzy, python-format
msgid "Unable to find key_file : %s"
msgstr "Não é possível localizar o volume %s"
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1575,7 +1606,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1722,265 +1753,260 @@ msgstr "Ocorreu um erro desconhecido. Por favor tente sua requisição novamente
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr "Criar par de chaves %s"
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr "Remover par de chaves %s"
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "Protocolo IP %(protocol)s é inválido."
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr "Não existe regra para os parâmetros especificados"
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, fuzzy, python-format
msgid "%s - This rule already exists in group"
msgstr "Esta regra já existe no grupo %s"
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr "Obter saída do console para instância %s"
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr "Criar volume de %s GB"
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "Desanexar volume %s"
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
#, fuzzy
msgid "Detach Volume Failed."
msgstr "Desanexar volume %s"
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr "atributo não suportado: %s"
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr "Alocar endereço"
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr "Liberar endereço %s"
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
#, fuzzy
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Desatribuir endereço %s"
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
#, fuzzy
msgid "Error, unable to associate floating ip."
msgstr "Desatribuir endereço %s"
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr "Desatribuir endereço %s"
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr "Começando a terminar instâncias"
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr "Reiniciar instância %r"
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr "Removendo o registro da imagem %s"
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr "usuário ou grupo não especificado"
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr "apenas o grupo \"all\" é suportado"
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr "operation_type deve ser add ou remove"
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr "Atualizando publicidade da imagem %s"
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
#, fuzzy
msgid "Only instances implemented"
msgstr "Instância não existe"
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2151,89 +2177,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2281,6 +2325,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr "Corpo do pedido está mal formado"
@@ -2327,21 +2372,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, fuzzy, python-format
msgid "Invalid is_public filter [%s]"
msgstr "Assinatura inválida para usuário %s"
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, fuzzy, python-format
msgid "Invalid minRam filter [%s]"
msgstr "Assinatura inválida para usuário %s"
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2349,6 +2397,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr "Imagem não encontrada."
@@ -2373,6 +2423,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2386,14 +2437,14 @@ msgstr "Instância não existe"
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr "Este pedido estava com taxa limitada."
@@ -2410,6 +2461,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2427,279 +2479,283 @@ msgid "Flavor '%s' could not be found "
msgstr "Host %(host)s não encontrado."
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
#, fuzzy
msgid "HostId cannot be updated."
msgstr "Ponto de montagem não pode ser traduzido: %s"
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
#, fuzzy
msgid "Personality cannot be updated."
msgstr "Ponto de montagem não pode ser traduzido: %s"
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
#, fuzzy
msgid "Flavor used by the instance could not be found."
msgstr "Serviço %(service_id)s não encontrado."
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
#, fuzzy
msgid "Image that the instance was started with could not be found."
msgstr "Serviço %(service_id)s não encontrado."
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
#, fuzzy
msgid "Invalid instance image."
msgstr "Corpo do pedido está mal formado"
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
#, fuzzy
msgid "Unable to set password on instance"
msgstr "Falhou ao reiniciar instância"
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2740,6 +2796,7 @@ msgstr "Compute.api::reset_network %s"
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2779,6 +2836,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr "Instância não encontrada"
@@ -2874,36 +2932,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, fuzzy, python-format
msgid "Cell %(id)s not found."
msgstr "Interface %(interface)s não encontrada."
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2945,32 +3012,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, fuzzy, python-format
msgid "Directory conflict: %s already exists"
msgstr "Rede já existe!"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2981,41 +3048,48 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "Certificado %(certificate_id)s não encontrado."
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
#, fuzzy
msgid "Flavor not found."
msgstr "Imagem não encontrada."
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
#, fuzzy
msgid "No request body"
msgstr "Corpo do pedido está mal formado"
@@ -3051,7 +3125,7 @@ msgstr "group %s já existe"
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3100,7 +3174,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr "Volume não encontrada para a instância %(instance_id)s."
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3296,30 +3370,36 @@ msgid "Create networks failed"
msgstr "Nenhuma rede definida."
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3331,7 +3411,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3349,16 +3429,16 @@ msgstr "Mostrando rede com id %s"
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, fuzzy, python-format
msgid "Bad prefix for network in cidr %s"
msgstr "Removendo rede com id %s"
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3384,7 +3464,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3443,12 +3523,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, fuzzy, python-format
msgid "Reserving IP address %s"
msgstr "Liberar endereço %s"
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, fuzzy, python-format
msgid "Unreserving IP address %s"
msgstr "Liberar endereço %s"
@@ -3467,153 +3552,166 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, fuzzy, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr "sem método para mensagem: %s"
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, fuzzy, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr "sem método para mensagem: %s"
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Volume não encontrada para a instância %(instance_id)s."
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
#, fuzzy
msgid "Got update to delete instance"
msgstr "Volume não encontrada para a instância %(instance_id)s."
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "Volume não encontrada para a instância %(instance_id)s."
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3625,7 +3723,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3658,35 +3756,84 @@ msgstr "Executando VPN para %s"
msgid "Failed to load %s"
msgstr "Não foi possível criar volume"
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3707,321 +3854,321 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "recebido %s"
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, fuzzy, python-format
msgid "error: %s"
msgstr "Capturado o erro: %s"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "instância %s: reset da rede"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "Alocar endereço"
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "group %s já existe"
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "Nenhuma rede definida."
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
#, fuzzy
msgid "UUID is required to delete Quantum Networks"
msgstr "%(req)s é necessário para criar a rede."
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "Reiniciar instância %r"
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr "Serviço %(service_id)s não encontrado."
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr "Serviço %(service_id)s não encontrado."
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "Erro inexperado lançado: %s"
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "Instância não existe"
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, fuzzy, python-format
msgid "%s created"
msgstr "_criar: %s"
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Capturado o erro: %s"
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "Capturado o erro: %s"
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -4035,252 +4182,252 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Não é possível anexar o volume na instância %s"
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
#, fuzzy
msgid "instance termination disabled"
msgstr "Começando a terminar instâncias"
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "A instância %(instance_id)s não está executando."
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "Começando a terminar instâncias"
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
#, fuzzy
msgid "Going to try to soft delete instance"
msgstr "Começando a terminar instâncias"
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
#, fuzzy
msgid "Going to try to terminate instance"
msgstr "Começando a terminar instâncias"
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
#, fuzzy
msgid "Going to try to stop instance"
msgstr "Falhou ao reiniciar instância"
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
#, fuzzy
msgid "Going to try to start instance"
msgstr "Começando a terminar instâncias"
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, fuzzy, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "Começando a terminar instâncias"
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr "Criar Grupo de Segurança %s"
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Não é possível destruir o VBD %s"
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Não é possível destruir o VBD %s"
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
#, fuzzy
msgid "Security group is still in use"
msgstr "Revogado entrada do grupo de segurança %s"
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr "Excluir grupo de segurança %s"
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr "Autorizada entrada do grupo de segurança %s"
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr "Revogado entrada do grupo de segurança %s"
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4345,12 +4492,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4371,673 +4518,697 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Falhou ao reiniciar instância"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
#, fuzzy
msgid "Failed to resume instance"
msgstr "Falha ao suspender instância"
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "Erro inexperado lançado: %s"
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
#, fuzzy
msgid "Failed to dealloc network for deleted instance"
msgstr "Começando a terminar instâncias"
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, fuzzy, python-format
msgid "Error: %s"
msgstr "Capturado o erro: %s"
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
#, fuzzy
msgid "Allocating IP information in the background."
msgstr "Removendo rede com id %s"
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Começando a terminar instâncias"
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
#, fuzzy
msgid "Rebuilding instance"
msgstr "Reconstruindo instância %s"
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Desanexar volume %s"
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
#, fuzzy
msgid "Rebooting instance"
msgstr "Reiniciando a instância %s"
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
#, fuzzy
msgid "instance snapshotting"
msgstr "instância %s: fazendo um snapshot"
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr "Removendo imagem %s"
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
#, fuzzy
msgid "error setting admin password"
msgstr "Configurar senha do administrador"
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Falha ao suspender instância"
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "Capturado o erro: %s"
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
#, fuzzy
msgid "Unrescuing"
msgstr "instância %s: desfazendo o resgate"
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, fuzzy, python-format
msgid "Updating instance to original state: '%s'"
msgstr "Iniciando instância %s"
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
#, fuzzy
msgid "Instance has no source host"
msgstr "Instância não existe"
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "instância %s: recuperando os diagnósticos"
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
#, fuzzy
msgid "Reset network"
msgstr "instância %s: reset da rede"
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
#, fuzzy
msgid "Get console output"
msgstr "Obter saída do console para instância %s"
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
#, fuzzy
msgid "Getting vnc console"
msgstr "Adicionando console"
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
#, fuzzy
msgid "Getting spice console"
msgstr "Adicionando console"
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, fuzzy, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "Desconectando volume da instância desconhecida %s"
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Falha ao obter metadados para o ip: %s"
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Remover volume com id: %s"
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "Instância %s não encontrada"
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Removendo imagem %s"
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, fuzzy, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr "Iniciando instância %s"
@@ -5137,11 +5308,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5157,15 +5328,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr "Adicionando console"
@@ -5246,7 +5436,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "Falhou ao reiniciar instância"
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5269,44 +5459,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, fuzzy, python-format
msgid "Invalid floating ip id %s in request"
msgstr "Corpo do pedido está mal formado"
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, fuzzy, python-format
msgid "Invalid floating IP %s in request"
msgstr "Corpo do pedido está mal formado"
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, fuzzy, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr "Corpo do pedido está mal formado"
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, fuzzy, python-format
msgid "Invalid virtual interface address %s in request"
msgstr "Corpo do pedido está mal formado"
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "Corpo do pedido está mal formado"
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5337,43 +5527,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5402,47 +5592,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr "Removendo imagem %s"
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5649,42 +5839,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d está ultrapassado, reiniciando radvd"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "Backend inválido: %s"
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr "Iniciando a VLAN %s"
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "Iniciando instância %s"
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, fuzzy, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr "Interface %(interface)s não encontrada."
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "Falha ao suspender instância"
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "Iniciando instância %s"
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, fuzzy, python-format
msgid "Done starting bridge %s"
msgstr "Removendo o registro da imagem %s"
@@ -5804,13 +5994,13 @@ msgstr "Rede já existe!"
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5846,155 +6036,156 @@ msgstr "_remover: %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, fuzzy, python-format
msgid "empty project id for instance %s"
msgstr "tipo de instância %(instance_type)s é inválida."
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
#, fuzzy
msgid "Port not found"
msgstr "Imagem não encontrada."
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, fuzzy, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr "Removendo rede com id %s"
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, fuzzy, python-format
msgid "Quantum Error creating security group %s"
msgstr "Excluir grupo de segurança %s"
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, fuzzy, python-format
msgid "Quantum Error updating security group %s"
msgstr "Excluir grupo de segurança %s"
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, fuzzy, python-format
msgid "Quantum security group %s not found"
msgstr "Excluir grupo de segurança %s"
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "Capturado o erro: %s"
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
#, fuzzy
msgid "Quantum Error getting security groups"
msgstr "Excluir grupo de segurança %s"
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
#, fuzzy
msgid "Security group id should be uuid"
msgstr "Revogado entrada do grupo de segurança %s"
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "Excluir grupo de segurança %s"
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
#, fuzzy
msgid "Quantum Error:"
msgstr "Capturado o erro: %s"
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, fuzzy, python-format
msgid "Quantum security group rule %s not found"
msgstr "Autorizada entrada do grupo de segurança %s"
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -6015,12 +6206,12 @@ msgstr "Configurar senha do administrador"
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6224,11 +6415,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6278,11 +6479,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6713,86 +6909,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
-#, fuzzy, python-format
-msgid "Setting instance to %(state)s state."
-msgstr "Iniciando instância %s"
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
+#, python-format
+msgid "Setting instance to %s state."
+msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, fuzzy, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr "Volume não encontrada para a instância %(instance_id)s."
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6827,35 +7020,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6879,7 +7072,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6897,10 +7090,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6948,13 +7154,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7139,59 +7350,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr "Erro interno"
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7312,19 +7525,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7334,25 +7547,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
#, fuzzy
msgid "Unable to load the virtualization driver"
msgstr "Não foi possível carregar o driver de virtualização: %s"
@@ -7362,7 +7575,7 @@ msgstr "Não foi possível carregar o driver de virtualização: %s"
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7385,20 +7598,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7417,37 +7630,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, fuzzy, python-format
msgid "Destroy called on non-existing instance %s"
msgstr "Obter saída do console para instância %s"
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7501,85 +7714,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "Começando a terminar instâncias"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, fuzzy, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr "Começando a terminar instâncias"
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, fuzzy, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr "Obter saída do console para instância %s"
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, fuzzy, python-format
msgid "PXE deploy started for instance %s"
msgstr "tipo de instância %(instance_type)s é inválida."
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, fuzzy, python-format
msgid "PXE deploy completed for instance %s"
msgstr "Obter saída do console para instância %s"
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, fuzzy, python-format
msgid "PXE deploy failed for instance %s"
msgstr "tipo de instância %(instance_type)s é inválida."
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "tipo de instância %(instance_type)s é inválida."
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Obter saída do console para instância %s"
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "tipo de instância %(instance_type)s é inválida."
@@ -7665,24 +7878,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7692,7 +7905,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7706,22 +7919,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, fuzzy, python-format
msgid "Baremetal interface %s not found"
msgstr "nenhuma partição encontrada"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, fuzzy, python-format
msgid "Baremetal virtual interface %s not found"
msgstr "nenhuma partição encontrada"
@@ -7834,12 +8043,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -8094,12 +8303,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, fuzzy, python-format
msgid "Failed to mount image %(ex)s)"
msgstr "Falhou em montar sistema de arquivo: %s"
@@ -8128,23 +8337,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
#, fuzzy
msgid "get_console_output called"
msgstr "Obter saída do console para instância %s"
@@ -8158,7 +8367,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8178,19 +8387,19 @@ msgstr "Liberar endereço %s"
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8279,17 +8488,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, fuzzy, python-format
msgid "Starting live migration for VM: %s"
msgstr "Começando a terminar instâncias"
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8308,11 +8517,11 @@ msgstr "Atualizando agente para %s"
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8336,45 +8545,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, fuzzy, python-format
msgid "Getting info for disk: %s"
msgstr "Removendo rede com id %s"
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8393,12 +8602,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, fuzzy, python-format
msgid "Creating directory: %s"
msgstr "Atualizando agente para %s"
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, fuzzy, python-format
msgid "Removing directory: %s"
msgstr "Remover volume com id: %s"
@@ -8418,41 +8627,41 @@ msgstr "Removendo rede com id %s"
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, fuzzy, python-format
msgid "Removing snapshot %s"
msgstr "modificando projeto %s"
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8479,107 +8688,107 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
#, fuzzy
msgid "Spawning new instance"
msgstr "Iniciando instância %s"
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
#, fuzzy
msgid "Spawn instance failed"
msgstr "NotFound lançado: %s"
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, fuzzy, python-format
msgid "Creating nic for instance: %s"
msgstr "Obter saída do console para instância %s"
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, fuzzy, python-format
msgid "Using config drive for instance: %s"
msgstr "Começando a terminar instâncias"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, fuzzy, python-format
msgid "Got request to destroy instance: %s"
msgstr "Não é possível destruir o VBD %s"
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, fuzzy, python-format
msgid "Instance not found: %s"
msgstr "Instância não encontrada"
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, fuzzy, python-format
msgid "Failed to destroy instance: %s"
msgstr "Não é possível destruir o VBD %s"
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
#, fuzzy
msgid "reboot instance"
msgstr "Reiniciando a instância %s"
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
#, fuzzy
msgid "Pause instance"
msgstr "Reiniciar instância %r"
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
#, fuzzy
msgid "Unpause instance"
msgstr "Reiniciar instância %r"
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
#, fuzzy
msgid "Suspend instance"
msgstr "Falha ao suspender instância"
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
#, fuzzy
msgid "Resume instance"
msgstr "Reiniciar instância %r"
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
#, fuzzy
msgid "Power off instance"
msgstr "Começando a terminar instâncias"
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
#, fuzzy
msgid "Power on instance"
msgstr "Começando a terminar instâncias"
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8614,29 +8823,29 @@ msgstr "Instância não encontrada"
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8648,53 +8857,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, fuzzy, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, fuzzy, python-format
msgid "Attach volume failed: %s"
msgstr "Desanexar volume %s"
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr "Não é possível anexar o volume na instância %s"
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, fuzzy, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, fuzzy, python-format
msgid "Detaching physical disk from instance: %s"
msgstr "Obter saída do console para instância %s"
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8724,248 +8933,244 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Falhou ao reiniciar instância"
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Nenhuma rede definida."
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Nenhuma rede definida."
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "volume %s: criado com sucesso"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Falhou ao reiniciar instância"
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
#, fuzzy
msgid "Guest does not have a console available"
msgstr "Usuário não tem privilégios de administrador"
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, fuzzy, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
"Solicitando à xapi para realizar upload da imagem %(vdi_uuids)s com ID "
"%(image_id)s"
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8973,75 +9178,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "Obtendo o tamanho da imagem para a imagem %s"
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -9049,50 +9270,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9102,69 +9323,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
-#, fuzzy, python-format
-msgid "Live Migration failure: %(e)s"
-msgstr "Falha de Autenticação: %s"
+#: nova/virt/libvirt/driver.py:3353
+#, python-format
+msgid "Live Migration failure: %s"
+msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9183,15 +9409,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9345,22 +9571,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9368,61 +9594,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, fuzzy, python-format
msgid "Unexpected vif_type=%s"
msgstr "Objeto esperado do tipo: %s"
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9430,7 +9657,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9438,7 +9665,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9446,7 +9673,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9608,12 +9835,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9640,16 +9867,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9659,7 +9886,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9732,105 +9959,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr "Instância não encontrada"
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, fuzzy, python-format
msgid "PowerVM image creation failed: %s"
msgstr "Iniciando a Bridge para %s"
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, fuzzy, python-format
msgid "Creating LPAR instance '%s'"
msgstr "Iniciando instância %s"
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, fuzzy, python-format
msgid "Activating the LPAR instance '%s'"
msgstr "Iniciando instância %s"
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, fuzzy, python-format
msgid "Stopping instance %s for snapshot."
msgstr "instância %s: fazendo um snapshot"
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, fuzzy, python-format
msgid "Shutting down the instance '%s'"
msgstr "Começando a terminar instâncias"
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, fuzzy, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr "Começando a terminar instâncias"
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, fuzzy, python-format
msgid "VMware Cluster %s is not found"
msgstr "nenhuma partição encontrada"
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9840,39 +10071,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr "%(text)s: _db_content => %(content)s"
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr "Sessão inválida"
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -10085,12 +10316,12 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
#, fuzzy
msgid "Destroying the VM"
msgstr "Removendo o registro da imagem %s"
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10197,101 +10428,106 @@ msgstr "Começando a terminar instâncias"
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "Atualizando agente para %s"
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Remover volume com id: %s"
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
#, fuzzy
msgid "instance not present"
msgstr "Instância não existe"
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Remover volume com id: %s"
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Não é possível localizar o volume %s"
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10336,7 +10572,7 @@ msgstr "Re-escaneando SR %s"
msgid "Rescanned HBA %s "
msgstr "Re-escaneando SR %s"
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr "Ponto de montagem não pode ser traduzido: %s"
@@ -10414,106 +10650,87 @@ msgstr "Não foi possível criar volume"
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr "Ponto de montagem %(mountpoint)s desanexada da instância %(instance_name)s"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "Atualizando agente para %s"
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr "Configurar senha do administrador"
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr "Erro de OpenSSL: %s"
@@ -10529,54 +10746,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr "Aumento não implementado"
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr "xenapi.fake não tem uma implementação para %s"
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr "Chamando o pai %s"
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "Chamando o pai %s"
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10842,229 +11059,229 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, fuzzy, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr "Tamanho da imagem %(image)s:%(virtual_size)d"
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr "Copiando o VDI %s de /boot/guest no dom0"
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Kernel/Ramdisk %s destruidos"
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
#, fuzzy
msgid "Failed to fetch glance image"
msgstr "Falhou ao reiniciar instância"
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "Verificando o vdi %s para kernel PV"
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr "O VDI %s continua disponível"
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr "Re-escaneando SR %s"
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, fuzzy, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr "O VHD %(vdi_uuid)s tem pai %(parent_ref)s"
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr "Conectando VBD %s ... "
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr "O VDB %s foi conectado."
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "Destruindo VBD para o VDI %s ... "
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr "O VBD para o VDI %s foi destruído."
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr "Rodando pygrub novamente %s"
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr "Kernel Xen encontrado: %s"
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr "Kernel Xen não encontrado. Iniciando como HVM."
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -11072,58 +11289,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11393,11 +11610,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11431,32 +11653,32 @@ msgstr "NotFound lançado: %s"
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11474,215 +11696,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr "ação: %s"
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr "tipo de instância %(instance_type)s é inválida."
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "No node specified, defaulting to %(node)s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr "Reconstruindo instância %s"
-
#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr "Rede %(network_id)s não foi encontrada."
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr "Host %(host)s não encontrado."
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr "A instância %(instance_id)s não está executando."
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
-#~ msgstr ""
-
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr "Falhou em atualizar senha: %(resp)r"
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr "Falhou em atualizar senha: %(resp)r"
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr "Chamando %(localname)s %(impl)s"
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr "Não é possível desconectar o volume %s"
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-#~ "Solicitando à xapi para realizar upload"
-#~ " da imagem %(vdi_uuids)s com ID "
-#~ "%(image_id)s"
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr "Atualizando agente para %s"
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr "Criando a VIF para VM %(vm_ref)s, rede %(network_ref)s."
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr "Removendo rede com id %s"
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr "Introduzindo %s..."
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
-#~ msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s"
-
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
-#~ msgstr "A instância %(instance_id)s não está executando."
-
diff --git a/nova/locale/ro/LC_MESSAGES/nova.po b/nova/locale/ro/LC_MESSAGES/nova.po
index 11c4412d9..7639f0e9a 100644
--- a/nova/locale/ro/LC_MESSAGES/nova.po
+++ b/nova/locale/ro/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-06-10 18:32+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Romanian "
@@ -81,298 +81,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -380,85 +380,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -466,896 +466,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1370,15 +1391,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1400,17 +1421,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1443,120 +1464,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1570,7 +1601,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1716,261 +1747,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2140,89 +2166,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2270,6 +2314,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2316,21 +2361,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2338,6 +2386,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2362,6 +2412,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2375,14 +2426,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2399,6 +2450,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2415,273 +2467,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2722,6 +2778,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2761,6 +2818,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2853,36 +2911,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2922,32 +2989,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2958,40 +3025,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3025,7 +3099,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3073,7 +3147,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3264,30 +3338,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3299,7 +3379,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3316,16 +3396,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3349,7 +3429,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3408,12 +3488,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3432,152 +3517,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3589,7 +3687,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3622,35 +3720,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3671,312 +3818,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3990,244 +4137,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4291,12 +4438,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4317,653 +4464,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5063,11 +5234,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5083,15 +5254,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5170,7 +5360,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5192,44 +5382,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5260,43 +5450,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5325,47 +5515,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5571,42 +5761,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5726,13 +5916,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5767,151 +5957,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5932,12 +6123,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6140,11 +6331,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6194,11 +6395,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6623,86 +6819,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6737,35 +6930,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6789,7 +6982,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6807,10 +7000,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6858,13 +7064,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7049,59 +7260,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7221,19 +7434,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7243,25 +7456,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7270,7 +7483,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7292,20 +7505,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7324,37 +7537,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7402,85 +7615,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7565,24 +7778,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7592,7 +7805,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7606,22 +7819,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7734,12 +7943,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7992,12 +8201,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8026,23 +8235,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8055,7 +8264,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8074,19 +8283,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8175,17 +8384,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8204,11 +8413,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8232,45 +8441,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8289,12 +8498,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8314,41 +8523,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8374,98 +8583,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8499,29 +8708,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8533,53 +8742,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8609,240 +8818,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8850,75 +9055,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8926,50 +9147,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8979,69 +9200,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9060,15 +9286,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9222,22 +9448,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9245,61 +9471,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9307,7 +9534,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9315,7 +9542,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9323,7 +9550,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9483,12 +9710,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9515,16 +9742,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9534,7 +9761,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9607,105 +9834,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9715,39 +9946,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9959,11 +10190,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10068,100 +10299,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10206,7 +10442,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10282,106 +10518,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10397,54 +10614,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10704,228 +10921,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10933,58 +11150,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11250,11 +11467,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11288,32 +11510,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11331,212 +11553,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/ru/LC_MESSAGES/nova.po b/nova/locale/ru/LC_MESSAGES/nova.po
index a18a11d1e..f2b62cb38 100644
--- a/nova/locale/ru/LC_MESSAGES/nova.po
+++ b/nova/locale/ru/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2012-03-25 09:34+0000\n"
"Last-Translator: Eugene Marshal <Unknown>\n"
"Language-Team: Russian <ru@li.org>\n"
@@ -84,180 +84,180 @@ msgstr "Ошибка перезагрузки копии"
msgid "Flags path: %s"
msgstr "РаÑположение флагов: %s"
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr "Обнаружено неизвеÑтное иÑключение."
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, fuzzy, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr "Ошибка дешифровки текÑта"
-#: nova/exception.py:167
+#: nova/exception.py:169
#, fuzzy, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr "Ошибка дешифровки текÑта"
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr "Ошибка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ интерфейÑа"
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
"5 безуÑпешных попыток ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ интерфейÑа Ñ ÑƒÐ½Ð¸ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¼ "
"mac-адреÑом"
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr "Ðе авторизировано."
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr "Пользователь не имеет админиÑтративных привилегий"
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr "Политика не допуÑкает Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ %(action)s."
-#: nova/exception.py:198
+#: nova/exception.py:200
#, fuzzy, python-format
msgid "Image %(image_id)s is not active."
msgstr "Образ %(image_id)s не найден."
-#: nova/exception.py:202
+#: nova/exception.py:204
#, fuzzy, python-format
msgid "Not authorized for image %(image_id)s."
msgstr "Ядро не найдено Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð·Ð° %(image_id)s."
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr "ÐедопуÑтимые параметры."
-#: nova/exception.py:211
+#: nova/exception.py:213
#, fuzzy
msgid "Block Device Mapping is Invalid."
msgstr "block_device_mapping %s"
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr "Том %(volume_id)s никуда не приÑоединён"
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr "ÐедопуÑтимый запроÑ."
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr "ÐедопуÑтимый том"
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr "ÐедопуÑтимые метаданные"
-#: nova/exception.py:266
+#: nova/exception.py:268
#, fuzzy
msgid "Invalid metadata size"
msgstr "Ðеправильный ключ метаданных"
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr "ÐедопуÑтимый диапазон портов %(from_port)s:%(to_port)s. %(msg)s"
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "ÐедопуÑтимый протокол IP %(protocol)s."
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "ÐедопуÑтимый тип Ñодержимого %(content_type)s."
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr "ÐедопуÑтимый cidr %(cidr)s."
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, fuzzy, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr "ДопуÑтимый узел не найден. %(reason)s"
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
@@ -266,86 +266,86 @@ msgstr ""
"ÐšÐ¾Ð¿Ð¸Ñ %(instance_uuid)s в %(attr)s %(state)s. Ðевозможно %(method)s во "
"Ð²Ñ€ÐµÐ¼Ñ Ð½Ð°Ñ…Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ в Ñтом ÑоÑтоÑнии."
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не выполнÑетÑÑ."
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не переведена в режим воÑÑтановлениÑ"
-#: nova/exception.py:323
+#: nova/exception.py:325
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не переведена в режим воÑÑтановлениÑ"
-#: nova/exception.py:327
+#: nova/exception.py:329
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не переведена в режим приоÑтановлениÑ."
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr "Ошибка приоÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸"
-#: nova/exception.py:335
+#: nova/exception.py:337
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ: %(resp)r"
-#: nova/exception.py:339
+#: nova/exception.py:341
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "Ðевозможно назначить пароль админиÑтратора. ÐšÐ¾Ð¿Ð¸Ñ %s не выполнÑетÑÑ"
-#: nova/exception.py:343
+#: nova/exception.py:345
#, fuzzy, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr "Ðевозможно назначить пароль админиÑтратора. ÐšÐ¾Ð¿Ð¸Ñ %s не выполнÑетÑÑ"
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr "Ошибка перезагрузки копии"
-#: nova/exception.py:351
+#: nova/exception.py:353
#, fuzzy
msgid "Failed to terminate instance"
msgstr "Ошибка перезагрузки копии"
-#: nova/exception.py:355
+#: nova/exception.py:357
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Ошибка перезагрузки копии"
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr "Ð’ данный момент Ñлужба недоÑтупна."
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, fuzzy, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr "Служба Compute недоÑтупна в наÑтоÑщее времÑ."
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr "Ðевозможно перемеÑтить копию (%(instance_id)s) на текущий узел (%(host)s)."
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr "Копии необходима Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð³Ð¸Ð¿ÐµÑ€Ð²Ð¸Ð·Ð¾Ñ€Ð°, вмеÑто предоÑтавленной."
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
@@ -354,38 +354,38 @@ msgstr ""
"ПредоÑтавленный Ð°Ð´Ñ€ÐµÑ Ð´Ð¸Ñка (%(path)s) уже ÑущеÑтвует, но ожидалоÑÑŒ, что "
"отÑутÑтвует."
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr "ÐедопуÑтимое размещение предоÑтавленного уÑтройÑтва (%(path)s)."
-#: nova/exception.py:394
+#: nova/exception.py:396
#, fuzzy, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr "ÐедопуÑтимое размещение предоÑтавленного уÑтройÑтва (%(path)s)."
-#: nova/exception.py:399
+#: nova/exception.py:401
#, fuzzy, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr "ÐедопуÑтимое размещение предоÑтавленного уÑтройÑтва (%(path)s)."
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr "ÐедопуÑтимые ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¦ÐŸÐ£"
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr "%(address)s не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым IP-адреÑом в4/6."
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -393,86 +393,86 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr "Форматирование диÑка %(disk_format)s недопуÑтимо"
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr "Образ %(image_id)s недопуÑтим: %(reason)s"
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s недопуÑтима: %(reason)s"
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr "Ec2 id %(ec2_id)s недопуÑтим."
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "ÐедопуÑтимый cidr %(cidr)s."
-#: nova/exception.py:448
+#: nova/exception.py:450
#, fuzzy
msgid "Constraint not met."
msgstr "ÐºÐ¾Ð¿Ð¸Ñ - %s не предÑтавлена"
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr "РеÑÑƒÑ€Ñ Ð½Ðµ может быть найден."
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr "Том %(volume_id)s не найден."
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr "Снимок %(snapshot_id)s не может быть найден."
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr "ОтÑутÑтвует диÑк в %(location)s"
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr "Ðевозможно найти обработчик Ð´Ð»Ñ Ñ‚Ð¾Ð¼Ð° %(driver_type)s."
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr "ÐедопуÑтимый образ href %(image_href)s."
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr "Образ %(image_id)s не найден."
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -480,65 +480,65 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr "Проект %(project_id)s не найден."
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr "Ðевозможно найти SR Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ/запиÑи VDI."
-#: nova/exception.py:505
+#: nova/exception.py:507
#, fuzzy, python-format
msgid "Network %(network_id)s is duplicated."
msgstr "Сеть %(network_id)s не найдена."
-#: nova/exception.py:509
+#: nova/exception.py:511
#, fuzzy, python-format
msgid "Network %(network_id)s is still in use."
msgstr "Сеть %(network_id)s не найдена."
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr "%(req)s необходимо Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñети."
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr "Сеть %(network_id)s не найдена."
-#: nova/exception.py:521
+#: nova/exception.py:523
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "Снимок %(snapshot_id)s не может быть найден."
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr "Сеть не может быть найдена Ð´Ð»Ñ Ð¼Ð¾Ñта %(bridge)s"
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr "Сеть не может быть найдена Ð´Ð»Ñ uuid %(uuid)s"
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr "Сеть не найдена Ñ cidr %(cidr)s."
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr "Сеть не найдена Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s."
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr "Сети не определены."
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
@@ -547,238 +547,234 @@ msgstr ""
"Или uuid %(network_uuid)s Ñети не предоÑтавлено или не приÑвоено проекту "
"%(project_id)s."
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, fuzzy, python-format
msgid "Port %(port_id)s is still in use."
msgstr "Сеть %(network_id)s не найдена."
-#: nova/exception.py:558
+#: nova/exception.py:560
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "Сеть не найдена Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s."
-#: nova/exception.py:562
+#: nova/exception.py:564
#, fuzzy, python-format
msgid "No free port available for instance %(instance)s."
msgstr "Сеть не найдена Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s."
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не найдена"
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не найдена"
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, fuzzy, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr "ПриÑвоить Ð°Ð´Ñ€ÐµÑ %(public_ip)s копии %(instance_id)s"
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr "ÐедопуÑтимый фикÑированный IP-Ð°Ð´Ñ€ÐµÑ %(address)s."
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, fuzzy, python-format
msgid "Floating ip %(address)s already exists."
msgstr "Тип тома %(name)s уже ÑущеÑтвует."
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr "ЗапиÑÑŒ DNS %(name)s уже ÑущеÑтвует в домене %(domain)s."
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
#, fuzzy
msgid "Floating ip pool not found."
msgstr "уÑтановка Ñетевого узла"
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr "Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ %(interface)s не найден."
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr "Сертификат %(certificate_id)s не найден."
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr "Служба %(service_id)s не найдена."
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr "Узел %(host)s не найден."
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr "Узел Ñompute %(host)s не найден."
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr "Квота не найдена"
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr "Квота проекта %(project_id)s не найдена."
-#: nova/exception.py:718
+#: nova/exception.py:716
#, fuzzy, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr "КлаÑÑ %(class_name)s не найден: %(exception)s"
-#: nova/exception.py:722
+#: nova/exception.py:720
#, fuzzy, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr "Квота проекта %(project_id)s не найдена."
-#: nova/exception.py:726
+#: nova/exception.py:724
#, fuzzy, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr "Пользователь %(user_id)s не найден."
-#: nova/exception.py:730
+#: nova/exception.py:728
#, fuzzy, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr "РаÑширенный реÑурÑ: %s"
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr "Группа безопаÑноÑти %(security_group_id)s не найдена."
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
"Группа безопаÑноÑти %(security_group_id)s не найдена Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° "
"%(project_id)s."
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr "Группа безопаÑноÑти Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð¾Ð¼ %(rule_id)s не найдена."
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
@@ -787,7 +783,7 @@ msgstr ""
"Группа безопаÑноÑти %(security_group_id)s уже аÑÑоциирована Ñ ÐºÐ¾Ð¿Ð¸ÐµÐ¹ "
"%(instance_id)s"
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
@@ -796,598 +792,623 @@ msgstr ""
"Группа безопаÑноÑти %(security_group_id)s не аÑÑоциирована Ñ ÐºÐ¾Ð¿Ð¸ÐµÐ¹ "
"%(instance_id)s"
-#: nova/exception.py:757
+#: nova/exception.py:755
#, fuzzy, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr "Группа безопаÑноÑти Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð¾Ð¼ %(rule_id)s не найдена."
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr "Перемещение %(migration_id)s не найдено."
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr "Перемещение не найдено Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s в ÑоÑтоÑнии %(status)s."
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr "Пул конÑоли %(pool_id)s не найден."
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr "КонÑоль %(console_id)s не найдена."
-#: nova/exception.py:794
+#: nova/exception.py:792
#, fuzzy, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr "КонÑоль Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s не найдена."
-#: nova/exception.py:798
+#: nova/exception.py:796
#, fuzzy, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr "КонÑоль Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s в пуле %(pool_id)s не найдена."
-#: nova/exception.py:803
+#: nova/exception.py:801
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "ÐедопуÑтимый тип конÑоли %(console_type)s "
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr "Тип копии %(instance_type_id)s не найден."
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr "Тип копии Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ %(instance_type_name)s не найден."
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "том группы %s не ÑущеÑтвует"
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, fuzzy, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr "Ðе найден том Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s."
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не имеет метаданных Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ %(metadata_key)s."
-#: nova/exception.py:866
+#: nova/exception.py:868
#, fuzzy, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не имеет метаданных Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ %(metadata_key)s."
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr "Файл %(file_path)s не может быть найден."
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
"Ðе найден виртуальный переключатель аÑÑоциированный Ñ Ñетевым адаптером "
"%(adapter)s."
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr "Сетевой адаптер %(adapter)s не может быть найден."
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr "КлаÑÑ %(class_name)s не найден: %(exception)s"
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr "ДейÑтвие не разрешено."
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, fuzzy, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(name)s уже ÑущеÑтвует."
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(name)s уже ÑущеÑтвует."
-#: nova/exception.py:917
+#: nova/exception.py:919
#, fuzzy, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr "Тип копии %(name)s уже ÑущеÑтвует."
-#: nova/exception.py:921
+#: nova/exception.py:923
#, fuzzy, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr "Тип копии %(name)s уже ÑущеÑтвует."
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, fuzzy, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr "%(path)s раÑполагаетÑÑ Ð½Ð° общедоÑтупном накопителе: %(reason)s"
-#: nova/exception.py:934
+#: nova/exception.py:936
#, fuzzy, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr "%(path)s раÑполагаетÑÑ Ð½Ð° общедоÑтупном накопителе: %(reason)s"
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr "Ошибка перемещениÑ"
-#: nova/exception.py:942
+#: nova/exception.py:944
#, fuzzy
msgid "Migration pre-check error"
msgstr "Ошибка перемещениÑ"
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr "Ðеправильное тело ÑообщениÑ: %(reason)s"
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr "Ðевозможно найти конфигурацию по адреÑу %(path)s"
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
#, fuzzy
msgid "When resizing, instances must change flavor!"
msgstr "При изменении размера, копии должны изменить размер!"
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr "ÐедоÑтаточно памÑти на узле Ñети compute Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка %(uuid)s."
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr "ДопуÑтимый узел не найден. %(reason)s"
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr "Превышена квота"
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, fuzzy, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr "Превышена квота Ð´Ð»Ñ %(pid)s, попытка выполнить %(min_count)s копий"
-#: nova/exception.py:1004
+#: nova/exception.py:1006
#, fuzzy
msgid "Maximum number of floating ips exceeded"
msgstr "Выбрано макÑ. количеÑтво узлов (%d)"
-#: nova/exception.py:1008
+#: nova/exception.py:1010
#, fuzzy
msgid "Maximum number of fixed ips exceeded"
msgstr "Выбрано макÑ. количеÑтво узлов (%d)"
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, fuzzy, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr "Выбрано макÑ. количеÑтво узлов (%d)"
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
#, fuzzy
msgid "Maximum number of key pairs exceeded"
msgstr "Выбрано макÑ. количеÑтво узлов (%d)"
-#: nova/exception.py:1032
+#: nova/exception.py:1034
#, fuzzy
msgid "Maximum number of security groups or rules exceeded"
msgstr "Выбрано макÑ. количеÑтво узлов (%d)"
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, fuzzy, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr "Ðевозможно назначить пароль админиÑтратора. ÐšÐ¾Ð¿Ð¸Ñ %s не выполнÑетÑÑ"
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не найдена."
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "КонÑоль Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s не найдена."
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "Том %(volume_id)s не найден."
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, fuzzy, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr "Снимок %(snapshot_id)s не может быть найден."
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, fuzzy, python-format
msgid "Marker %(marker)s could not be found."
msgstr "Образ %(image_id)s не найден."
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "Получение образа %(image)s"
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "Получение образа %(image)s"
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не найдена"
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "Выполнение запуÑка копий"
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "Выполнение запуÑка копий"
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, fuzzy, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr "Подключить том %(volume_id)s Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s на %(device)s"
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, fuzzy, python-format
msgid "The CA file for %(project)s could not be found"
msgstr "Квота проекта %(project_id)s не найдена."
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, fuzzy, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr "Проект %(project_id)s не найден."
-#: nova/exception.py:1181
+#: nova/exception.py:1187
#, fuzzy
msgid "Instance recreate is not implemented by this virt driver."
msgstr "set_admin_password не реализован в Ñтой драйвере."
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не переведена в режим воÑÑтановлениÑ"
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не переведена в режим воÑÑтановлениÑ"
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "Тип копии %(name)s уже ÑущеÑтвует."
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, fuzzy, python-format
msgid "Unsupported object type %(objtype)s"
msgstr "ОжидалÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚ типа: %s"
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1402,15 +1423,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚Ð°Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð´Ð»Ñ ip: %s"
@@ -1433,17 +1454,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1476,120 +1497,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr "отладка в обратном вызове: %s"
-#: nova/utils.py:334
+#: nova/utils.py:362
+#, python-format
+msgid "Couldn't get IPv4 : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:379
+#, python-format
+msgid "IPv4 address is not found.: %s"
+msgstr ""
+
+#: nova/utils.py:382
+#, python-format
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:397
#, python-format
msgid "Link Local address is not found.:%s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:400
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:439
#, python-format
msgid "Invalid backend: %s"
msgstr "ÐедопуÑтимый внутренний интерфейÑ: %s"
-#: nova/utils.py:437
-#, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr ""
-
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr "ОжидалÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚ типа: %s"
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ server_string: %s"
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr "timefunc: '%(name)s' занÑла %(total_time).2f Ñ."
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, fuzzy, python-format
msgid "Reloading cached file %s"
msgstr "Выгрузка образа %s"
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, fuzzy, python-format
msgid "Could not remove tmpdir: %s"
msgstr "Ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€Ð°: %s"
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, fuzzy, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr "ВыполнÑетÑÑ %(name)s на %(host)s:%(port)s"
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, fuzzy, python-format
msgid "Unable to find cert_file : %s"
msgstr "Ðевозможно найти Ð°Ð´Ñ€ÐµÑ %r"
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, fuzzy, python-format
msgid "Unable to find ca_file : %s"
msgstr "Ðевозможно найти Ð°Ð´Ñ€ÐµÑ %r"
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, fuzzy, python-format
msgid "Unable to find key_file : %s"
msgstr "Ðевозможно найти Ð°Ð´Ñ€ÐµÑ %r"
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr "ВыполнÑетÑÑ Ð¾Ñтанов Ñервера WSGI."
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr "Сервер WSGI был оÑтановлен."
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1603,7 +1634,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1756,270 +1787,265 @@ msgstr ""
"Ðеподдерживаемый Ð·Ð°Ð¿Ñ€Ð¾Ñ API: контроллер = %(controller)s, дейÑтвие = "
"%(action)s"
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr "Создать Ñнимок тома %s"
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, fuzzy, python-format
msgid "Could not find key pair(s): %s"
msgstr "Ошибка Ð´ÐµÑˆÐ¸Ñ„Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð»Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ ключа: %s"
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr "Создание пары ключей %s"
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr "Импортировать ключ %s"
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr "Удаление пары ключей %s"
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, fuzzy, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr "ÐедоÑтаточно параметров Ð´Ð»Ñ Ñбора правильного правила."
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "ÐедопуÑтимый протокол IP %(protocol)s."
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr "ОтÑутÑтвует правило Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ñ… параметров."
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, fuzzy, python-format
msgid "%s - This rule already exists in group"
msgstr "Это правило уже ÑущеÑтвует в группе %s"
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr "Получить конÑольный вывод Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr "Создать том из Ñнимка %s"
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr "Создание раздела %s ГБ"
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
#, fuzzy
msgid "Delete Failed"
msgstr "Ошибка ÑозданиÑ"
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr "Подключить том %(volume_id)s Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s на %(device)s"
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
#, fuzzy
msgid "Attach Failed."
msgstr "Ошибка ÑозданиÑ"
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "ОтÑоединить том %s"
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
#, fuzzy
msgid "Detach Volume Failed."
msgstr "ОтÑоединить том %s"
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr "аттрибут не поддерживаетÑÑ: %s"
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr "Выделить адреÑ"
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr "ПриÑвоить Ð°Ð´Ñ€ÐµÑ %s"
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
#, fuzzy
msgid "Unable to release IP Address."
msgstr "Ðевозможно найти Ð°Ð´Ñ€ÐµÑ %r"
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr "ПриÑвоить Ð°Ð´Ñ€ÐµÑ %(public_ip)s копии %(instance_id)s"
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
#, fuzzy
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Ðевозможно найти Ð°Ð´Ñ€ÐµÑ %r"
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
#, fuzzy
msgid "Error, unable to associate floating ip."
msgstr "Ðевозможно найти Ð°Ð´Ñ€ÐµÑ %r"
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr "ИÑключить Ð°Ð´Ñ€ÐµÑ %s"
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr "Образ должен быть доÑтупен"
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr "Выполнение Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ копий"
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr "Перезагрузить копию %r"
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr "Выполнение оÑтановки копий"
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr "Выполнение запуÑка копий"
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr "ИÑключение региÑтрации образа %s"
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr "ЗарегиÑтрированный образ %(image_location)s Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ %(image_id)s"
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr "не указан пользователь или группа"
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr "поддерживаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ группа \"вÑе(all)\""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr "Обновление оÑведомлённоÑти об образе %s"
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr "Ðевозможно оÑтановить копию в течении %d Ñ."
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
#, fuzzy
msgid "Expecting a list of resources"
msgstr "Перечень копий"
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
#, fuzzy
msgid "Only instances implemented"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ - %s не предÑтавлена"
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
#, fuzzy
msgid "Expecting a list of tagSets"
msgstr "Перечень копий"
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
#, fuzzy
msgid "Invalid CIDR"
msgstr "ÐедопуÑтимый cidr %(cidr)s."
@@ -2195,89 +2221,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr "ÐедопуÑтимые метаданные"
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr "Ðевозможно '%(action)s', когда ÐºÐ¾Ð¿Ð¸Ñ Ð² %(attr)s %(state)s"
#: nova/api/openstack/common.py:366
+#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
#, fuzzy, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ Ð² недопуÑтимом ÑоÑтоÑнии Ð´Ð»Ñ '%(action)s'"
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr "Отклонение запроÑа Ñнимка, Ñнимки в данный момент отключены"
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr "Снимки копии в наÑтоÑщий момент недопуÑтимы."
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr "Загруженное раÑширение: %s"
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr "Загрузка раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ %s"
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr "Ошибка загрузки раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ %(ext_factory)s: %(exc)s"
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, fuzzy, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr "Ошибка загрузки раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ %(ext_name)s: %(exc)s"
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2325,6 +2369,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr "Ðеправильное тело запроÑа"
@@ -2371,21 +2416,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr "Ð˜Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð´Ð¸Ñпетчера раÑширений."
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, fuzzy, python-format
msgid "Invalid is_public filter [%s]"
msgstr "Ðе допуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑŒ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s"
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, fuzzy, python-format
msgid "Invalid minRam filter [%s]"
msgstr "Ðе допуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑŒ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s"
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2393,6 +2441,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr "образ не найден."
@@ -2417,6 +2467,7 @@ msgid "Invalid metadata key"
msgstr "Ðеправильный ключ метаданных"
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2430,7 +2481,7 @@ msgstr "ÐšÐ¾Ð¿Ð¸Ñ Ð½Ðµ ÑущеÑтвует"
msgid "Instance is not a member of specified network"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ Ð½Ðµ ÑвлÑетÑÑ ÑƒÑ‡Ð°Ñтником заданной Ñети"
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
@@ -2439,7 +2490,7 @@ msgstr ""
"Только %(value)s %(verb)s запроÑ(ов) могут быть Ñделаны Ð´Ð»Ñ %(uri)s, "
"каждые %(unit_string)s."
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2456,6 +2507,7 @@ msgstr "Элемент метаданных не найден"
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2473,281 +2525,285 @@ msgid "Flavor '%s' could not be found "
msgstr "Узел %(host)s не найден."
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ Ð½Ðµ найдена"
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
#, fuzzy
msgid "Unknown argment : port"
msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ñ†ÐµÐ¿Ð¾Ñ‡ÐºÐ°: %r"
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, fuzzy, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr "ÐедопуÑтимый Ñетевой формат: Ñетевой uuid имеет неправильный формат (%s)"
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr "ÐедопуÑтимый Ñетевой формат: Ñетевой uuid имеет неправильный формат (%s)"
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr "ÐедопуÑтимый фикÑированный IP-Ð°Ð´Ñ€ÐµÑ (%s)"
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr "Дубликаты Ñетей (%s) не разрешены"
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr "ÐедопуÑтимый Ñетевой формат: отÑутÑтвует %s"
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr "ÐедопуÑтимый Ñетевой формат"
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr "Содержимое данных Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ðµ может быть дешифровано"
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr "Ð˜Ð¼Ñ Ñервера не задано"
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr "ПредоÑтавлен недопуÑтимый flavorRef."
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr "Ðевозможно найти запрошенный образ"
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr "ПредоÑтавлен недопуÑтимый key_name."
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
#, fuzzy
msgid "HostId cannot be updated."
msgstr "Точка Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð½Ðµ может быть переведена: %s"
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
#, fuzzy
msgid "Personality cannot be updated."
msgstr "Точка Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð½Ðµ может быть переведена: %s"
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr "С копией не производилоÑÑŒ изменение размера."
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
#, fuzzy
msgid "Flavor used by the instance could not be found."
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не найдена."
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr "ОтÑутÑтвует аргумент типа 'type' Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸"
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
#, fuzzy
msgid "Resize requires a flavor change."
msgstr "Изменение размера требует Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÑ‘Ð¼Ð°."
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
#, fuzzy
msgid "Image that the instance was started with could not be found."
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не найдена."
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
#, fuzzy
msgid "Invalid instance image."
msgstr "ÐедопуÑтимый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ‚ÐµÐ»Ð°"
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr "ОтÑутÑтвует атрибут imageRef"
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr "ОтÑутÑтвует атрибут flavorRef"
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr "adminPass не был задан"
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr "ÐедопуÑтимый adminPass"
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
#, fuzzy
msgid "Unable to set password on instance"
msgstr "Ошибка перезагрузки копии"
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° имеет недопуÑтимый атрибут 'flavorRef'."
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr "ЗапроÑÑ‹ изменение размера требуют атрибут 'flavorRef'."
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr "ÐедопуÑтимый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ‚ÐµÐ»Ð°"
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, fuzzy, python-format
msgid "Removing options '%s' from query"
msgstr "Удаление параметров '%(unk_opt_str)s' из запроÑа"
@@ -2788,6 +2844,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr "Сервер не найден"
@@ -2827,6 +2884,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ Ð½Ðµ найдена"
@@ -2923,38 +2981,47 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, fuzzy, python-format
msgid "Cell %(id)s not found."
msgstr "Правило (%s) не найдено"
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
#, fuzzy
msgid "Cell name cannot be empty"
msgstr "Ðаименование группы безопаÑноÑти не может отÑутÑтвовать"
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
#, fuzzy
msgid "No cell information in request"
msgstr "block_device_mapping %s"
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2996,34 +3063,34 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
#, fuzzy
msgid "Coverage not running"
msgstr "xvp не выполнÑетÑÑ..."
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
#, fuzzy
msgid "Invalid path"
msgstr "ÐедопуÑтимый Ñнимок"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, fuzzy, python-format
msgid "Directory conflict: %s already exists"
msgstr "Группа безопаÑноÑти %s уже ÑущеÑтвует"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -3034,41 +3101,48 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, fuzzy, python-format
msgid "Error in evacuate, %s"
msgstr "Ошибка Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ %s"
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "Сертификат %(certificate_id)s не найден."
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
#, fuzzy
msgid "Flavor not found."
msgstr "Сервер не найден."
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
#, fuzzy
msgid "No request body"
msgstr "Ðет тела запроÑа"
@@ -3104,7 +3178,7 @@ msgstr "Тип тома %(name)s уже ÑущеÑтвует."
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3155,7 +3229,7 @@ msgstr ""
"%(instance_id)s"
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3353,30 +3427,36 @@ msgid "Create networks failed"
msgstr "Ошибка ÑозданиÑ"
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3388,7 +3468,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr "ÐедоÑтаточно параметров Ð´Ð»Ñ Ñбора правильного правила."
@@ -3407,16 +3487,16 @@ msgstr "Отображение Ñети Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ %s"
msgid "security group default rule not found"
msgstr "Группа безопаÑноÑти Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð¾Ð¼ %(rule_id)s не найдена."
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, fuzzy, python-format
msgid "Bad prefix for network in cidr %s"
msgstr "ÐедопуÑтимый Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð´Ð»Ñ to_global_ipv6: %s"
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr "Группа безопаÑноÑти не задана"
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr "Ðаименование группы безопаÑноÑти не может отÑутÑтвовать"
@@ -3442,7 +3522,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
#, fuzzy
msgid "Unknown service"
msgstr "Ошибка аутентификации"
@@ -3502,12 +3582,17 @@ msgstr "Загруженное раÑширение: %s"
msgid "Ext version: %i"
msgstr "ВерÑÐ¸Ñ Ð°Ð³ÐµÐ½Ñ‚Ð° копии: %s"
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, fuzzy, python-format
msgid "Reserving IP address %s"
msgstr "ПриÑвоить Ð°Ð´Ñ€ÐµÑ %s"
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, fuzzy, python-format
msgid "Unreserving IP address %s"
msgstr "ПриÑвоить Ð°Ð´Ñ€ÐµÑ %s"
@@ -3526,153 +3611,166 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, fuzzy, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr "не определен метод Ð´Ð»Ñ ÑообщениÑ: %s"
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, fuzzy, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr "Ошибка загрузки раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ %(ext_factory)s: %(exc)s"
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, fuzzy, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr "не определен метод Ð´Ð»Ñ ÑообщениÑ: %s"
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, fuzzy, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr "Выгрузка образа %s"
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "Ðе найден том Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s."
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
#, fuzzy
msgid "Got update to delete instance"
msgstr "Ðе найден том Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s."
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "Ðе найден том Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s."
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3684,7 +3782,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3717,35 +3815,84 @@ msgstr "ЗапуÑк VPN Ð´Ð»Ñ %s"
msgid "Failed to load %s"
msgstr "Ðевозможно Ñоздать том"
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, fuzzy, python-format
msgid "deployment to node %s failed"
msgstr "Ñлемент не ÑвлÑетÑÑ Ð¿Ð¾Ñ‚Ð¾Ð¼ÐºÐ¾Ð¼"
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3768,323 +3915,323 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "получено %s"
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, fuzzy, python-format
msgid "error: %s"
msgstr "Ошибка БД: %s"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "ВоÑÑтановление Ñети"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "Выделить адреÑ"
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "Тип тома %(name)s уже ÑущеÑтвует."
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr "IPv4"
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr "IPv6"
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr "проект"
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "Сеть не найдена"
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
#, fuzzy
msgid "UUID is required to delete Quantum Networks"
msgstr "%(req)s необходимо Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñети."
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "Выполнение оÑтановки копий"
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr "Служба %(service_id)s не найдена."
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr "Служба %(service_id)s не найдена."
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "ÐÐµÐ¿Ñ€ÐµÐ´Ð²Ð¸Ð´ÐµÐ½Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: %s"
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
#, fuzzy
msgid "PROJECT"
msgstr "проект"
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "ÐºÐ¾Ð¿Ð¸Ñ - %s не предÑтавлена"
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
#, fuzzy
msgid "Unknown error"
msgstr "Ошибка аутентификации"
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, fuzzy, python-format
msgid "%s created"
msgstr "Таблица |%s| не Ñоздана!"
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Ошибка БД: %s"
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "тип = %s"
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -4098,26 +4245,26 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
#, fuzzy
msgid "Cannot run any more instances of this type."
msgstr ""
"Превышена квота копий. Ð’Ñ‹ не можете запуÑтить дополнительные копии Ñтого "
"типа."
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, fuzzy, python-format
msgid "Can only run %s more instances of this type."
msgstr "Превышена квота копий. Ð’Ñ‹ можете запуÑтить только %s копий Ñтого типа."
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, fuzzy, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr "Превышена квота Ð´Ð»Ñ %(pid)s, попытка выполнить %(min_count)s копий"
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
@@ -4126,97 +4273,97 @@ msgstr ""
"Превышена квота Ð´Ð»Ñ %(pid)s, попытка назначить %(num_metadata)s ÑвойÑтв "
"метаданных"
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "Ðевозможно приÑоединить том Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr "ВыполнÑет запуÑк %s копий..."
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr "bdm %s"
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr "block_device_mapping %s"
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
#, fuzzy
msgid "instance termination disabled"
msgstr "Выполнение Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ копий"
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "Тип копии %(instance_type_id)s не найден."
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "Выполнение Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ копий"
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, fuzzy, python-format
msgid "instance's host %s is down, deleting from database"
msgstr "ОтÑутÑтвует узел Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s, немедленное удаление"
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
#, fuzzy
msgid "Going to try to soft delete instance"
msgstr "Выполнение запуÑка копий"
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
#, fuzzy
msgid "Going to try to terminate instance"
msgstr "Будет Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° завершить работу %s"
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
#, fuzzy
msgid "Going to try to stop instance"
msgstr "Попытка оÑтановить %s"
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
#, fuzzy
msgid "Going to try to start instance"
msgstr "Попытка запуÑтить %s"
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr "ПоиÑк по: %s"
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, fuzzy, python-format
msgid "snapshot for %s"
msgstr "ЗапуÑк Ñнимка Ð´Ð»Ñ Ð’Ðœ %s"
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
@@ -4225,63 +4372,63 @@ msgstr ""
"УÑтаревший тип копии %(current_instance_type_name)s, новый тип копии "
"%(new_instance_type_name)s"
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, fuzzy, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr "Превышена квота Ð´Ð»Ñ %(pid)s, попытка выполнить %(min_count)s копий"
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, fuzzy, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "Будет Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° завершить работу %s"
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr "Группа безопаÑноÑти %s не может быть пуÑтой."
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, fuzzy, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
@@ -4290,70 +4437,70 @@ msgstr ""
"Значение (%s) Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° GroupName недопуÑтимо. Длина превышает "
"макÑимально допуÑтимое значение 255."
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr "Создать группу безопаÑноÑти %s"
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr "Группа безопаÑноÑти %s уже ÑущеÑтвует"
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Ðевозможно ликвидировать vbd %s"
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "Ðевозможно ликвидировать vbd %s"
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
#, fuzzy
msgid "Security group is still in use"
msgstr "Группа безопаÑноÑти (%s) не найдена"
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr "Удалить группу безопаÑноÑти %s"
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr "Правило (%s) не найдено"
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
#, fuzzy
msgid "Quota exceeded, too many security group rules."
msgstr "Добавление правила группы безопаÑноÑти: %r"
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4418,12 +4565,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4444,260 +4591,280 @@ msgstr "Ошибка БД: %s"
msgid "Instance type %s not found for deletion"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ Ñ‚Ð¸Ð¿Ð° %s не найдена Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ"
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, fuzzy, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr "Ðевозможно перемеÑтить копию (%(instance_id)s) на текущий узел (%(host)s)."
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Ошибка перезагрузки копии"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Hypervisor driver does not support resume guests"
msgstr "Драйвер гипервизора не поддерживает правила брандмауÑра"
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
#, fuzzy
msgid "Failed to resume instance"
msgstr "Ошибка приоÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸"
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr "Драйвер гипервизора не поддерживает правила брандмауÑра"
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "Ðепредвиденный код ÑоÑтоÑниÑ"
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
#, fuzzy
msgid "Failed to dealloc network for deleted instance"
msgstr "Выполнение запуÑка копий"
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, fuzzy, python-format
msgid "Error: %s"
msgstr "Ошибка БД: %s"
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
#, fuzzy
msgid "Allocating IP information in the background."
msgstr "уÑтановка Ñетевого узла"
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Выполнение запуÑка копий"
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr "ПропуÑк DiskNotFound: %s"
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, fuzzy, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr "ПропуÑк DiskNotFound: %s"
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr "завершение работы bdm %s"
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr "%s. УÑтановка ÑоÑтоÑÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ vm_state на ERROR"
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
#, fuzzy
msgid "Rebuilding instance"
msgstr "Обновление Ñборки %s"
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, fuzzy, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr "%(path)s раÑполагаетÑÑ Ð½Ð° общедоÑтупном накопителе: %(reason)s"
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Создать Ñнимок из тома %s"
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
#, fuzzy
msgid "Rebooting instance"
msgstr "Перезагрузка копии %s"
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, fuzzy, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
@@ -4706,22 +4873,26 @@ msgstr ""
"попытка перезагрузки не выполнÑемой копии: %(instance_uuid)s (ÑоÑтоÑние: "
"%(state)s ожидалоÑÑŒ: %(running)s)"
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
#, fuzzy
msgid "Instance disappeared during reboot"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ Ð½Ðµ включена"
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
#, fuzzy
msgid "instance snapshotting"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ %s: выполнение Ñнимка"
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, fuzzy, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
@@ -4730,229 +4901,229 @@ msgstr ""
"попытка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñнимка не выполнÑемой копии: %(instance_uuid)s "
"(ÑоÑтоÑние: %(state)s ожидалоÑÑŒ: %(running)s)"
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr "Ðайдено %(num_images)d образов (ротациÑ: %(rotation)d)"
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr "Удаление образа %s"
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr "Ðевозможно назначить пароль админиÑтратора. ÐšÐ¾Ð¿Ð¸Ñ %s не выполнÑетÑÑ"
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
#, fuzzy
msgid "Root password set"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %s: Ðазначение админиÑтративного паролÑ"
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
#, fuzzy
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr "set_admin_password не реализован в Ñтой драйвере."
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, fuzzy, python-format
msgid "set_admin_password failed: %s"
msgstr "set_admin_password не реализован в Ñтой драйвере."
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
#, fuzzy
msgid "error setting admin password"
msgstr "Ошибка Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратора"
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Ошибка приоÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸"
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "Ошибка БД: %s"
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, fuzzy, python-format
msgid "Updating instance to original state: '%s'"
msgstr "%s. УÑтановка ÑоÑтоÑÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ vm_state на ERROR"
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
#, fuzzy
msgid "Instance has no source host"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ Ð½Ðµ ÑущеÑтвует"
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr "назначение Ñовпадает Ñ Ð¸Ñточником!"
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ %s: принÑтие диагноÑтики"
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
#, fuzzy
msgid "Reset network"
msgstr "ВоÑÑтановление Ñети"
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
#, fuzzy
msgid "Inject network info"
msgstr "уÑтановка Ñетевого узла"
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
#, fuzzy
msgid "Get console output"
msgstr "Получить конÑольный вывод Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
#, fuzzy
msgid "Getting vnc console"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ %s: получение конÑоли vnc"
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
#, fuzzy
msgid "Getting spice console"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ %s: получение конÑоли vnc"
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "ОтÑоединение тома от неизвеÑтной копии %s"
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "Попытка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð½ÐµÑущеÑтвующей конÑоли %(console_id)s."
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, fuzzy, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr "Ñетевые раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
#, fuzzy
msgid "_post_live_migration() is started.."
msgstr "Запущено post_live_migration().."
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
@@ -4961,21 +5132,21 @@ msgstr ""
"отÑутÑтвует домен Ñ ÑоответÑтвующим именем.\" Эта ошибка может быть "
"безопаÑно пропущена."
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
#, fuzzy
msgid "Post operation of migration started"
msgstr "Запущено post_live_migration().."
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚Ð°Ð´Ð°Ð½Ð½Ñ‹Ñ… Ð´Ð»Ñ ip: %s"
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
@@ -4984,64 +5155,64 @@ msgstr ""
"Ðайдены %(migration_count)d неподтверждённых перемещений, Ñтарше "
"%(confirm_window)d Ñекунд"
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, fuzzy, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr "Завершение работы Ð’Ðœ Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_uuid)s"
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
#, fuzzy
msgid "In ERROR state"
msgstr "Ошибка БД: %s"
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr "Обновление временных данных иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»Ð¾ÑÑ‹ пропуÑканиÑ"
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Обновление временных данных иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»Ð¾ÑÑ‹ пропуÑканиÑ"
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr "Обновление ÑоÑтоÑÐ½Ð¸Ñ ÑƒÐ·Ð»Ð°"
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
@@ -5050,86 +5221,86 @@ msgstr ""
"Ðайдено %(num_db_instances)s в базе данных и %(num_vm_instances)s в "
"гипервизоре."
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "ÐºÐ¾Ð¿Ð¸Ñ Ð½Ðµ включена"
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
#, fuzzy
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr "FLAGS.reclaim_instance_interval <= 0, пропуÑк..."
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "LoggingVolumeDriver: %s"
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, fuzzy, python-format
msgid "No service record for host %s"
msgstr "Ðет Ñлужбы Ð´Ð»Ñ compute ID %s"
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, fuzzy, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr "%s. УÑтановка ÑоÑтоÑÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ vm_state на ERROR"
@@ -5231,11 +5402,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr "Ðевозможно найти узел Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
@@ -5251,16 +5422,35 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
#, fuzzy
msgid "Invalid block_device_mapping_destroy invocation"
msgstr "block_device_mapping %s"
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr "Добавление конÑоли"
@@ -5342,7 +5532,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "Ошибка перезагрузки копии"
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5365,44 +5555,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr "ÐераÑпознанное значение read_deleted '%s'"
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, fuzzy, python-format
msgid "Invalid floating ip id %s in request"
msgstr "ÐедопуÑтимый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ‚ÐµÐ»Ð°"
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, fuzzy, python-format
msgid "Invalid floating IP %s in request"
msgstr "ÐедопуÑтимый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ‚ÐµÐ»Ð°"
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, fuzzy, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr "ÐедопуÑтимый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ‚ÐµÐ»Ð°"
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, fuzzy, python-format
msgid "Invalid virtual interface address %s in request"
msgstr "ÐедопуÑтимый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ‚ÐµÐ»Ð°"
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "ÐедопуÑтимый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ‚ÐµÐ»Ð°"
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5433,43 +5623,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
#, fuzzy
msgid "Unsupported id columns type"
msgstr "Ðе поддерживаемый тип Ñодержимого"
@@ -5499,47 +5689,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr "Удаление образа %s"
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr "Ошибка загрузки %(image_location)s в %(image_path)s"
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr "Ошибка раÑÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ %(image_location)s в %(image_path)s"
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr "Ошибка Ð¸Ð·Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ %(image_location)s в %(image_path)s"
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr "Ошибка выгрузки %(image_location)s в %(image_path)s"
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr "Ошибка Ð´ÐµÑˆÐ¸Ñ„Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð»Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ ключа: %s"
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr "Ошибка Ð´ÐµÑˆÐ¸Ñ„Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð° инициализации: %s"
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr "Ошибка Ð´ÐµÑˆÐ¸Ñ„Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° образа %(image_file)s: %(err)s"
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr "Ð’ образе небезопаÑные имена файлов"
@@ -5748,42 +5938,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "ÐедопуÑтимое ÑоÑтоÑние: '%s'"
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr "ЗапуÑк интерфейÑа VLAN %s"
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "ЗапуÑк копии %s"
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, fuzzy, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr "Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ %(interface)s не найден"
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "Ошибка приоÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸"
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "ЗапуÑк копии %s"
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, fuzzy, python-format
msgid "Done starting bridge %s"
msgstr "Ошибка запуÑка xvp: %s"
@@ -5913,13 +6103,13 @@ msgstr "Сеть уже ÑущеÑтвует!"
msgid "Network must be disassociated from project %s before delete"
msgstr "Сеть должна быть иÑключена из проекта %s перед удалением"
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, fuzzy, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5957,158 +6147,158 @@ msgstr "_удалить: %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-#, fuzzy
-msgid "quantum authentication failed"
-msgstr "Ошибка аутентификации"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
+msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, fuzzy, python-format
msgid "allocate_for_instance() for %s"
msgstr "Ñетевые раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, fuzzy, python-format
msgid "empty project id for instance %s"
msgstr "Ñетевые раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
#, fuzzy
msgid "Port not found"
msgstr "Узел не найден"
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, fuzzy, python-format
msgid "deallocate_for_instance() for %s"
msgstr "иÑключение Ñетевых раÑпределений Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ |%s|"
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, fuzzy, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr "Ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð¼Ð° в базе данных"
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, fuzzy, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr "Ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð¼Ð° в базе данных"
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, fuzzy, python-format
msgid "validate_networks() for %s"
msgstr "ÐедопуÑтимый Ñетевой формат"
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, fuzzy, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr "уÑтановка Ñетевого узла"
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, fuzzy, python-format
msgid "Quantum Error creating security group %s"
msgstr "Удалить группу безопаÑноÑти %s"
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, fuzzy, python-format
msgid "Quantum Error updating security group %s"
msgstr "Удалить группу безопаÑноÑти %s"
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, fuzzy, python-format
msgid "Quantum security group %s not found"
msgstr "Удалить группу безопаÑноÑти %s"
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "Обнаружена ошибка: %s"
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
#, fuzzy
msgid "Quantum Error getting security groups"
msgstr "Удалить группу безопаÑноÑти %s"
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
#, fuzzy
msgid "Security group id should be uuid"
msgstr "Группа безопаÑноÑти (%s) не найдена"
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "Удалить группу безопаÑноÑти %s"
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
#, fuzzy
msgid "Quantum Error:"
msgstr "Обнаружена ошибка: %s"
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, fuzzy, python-format
msgid "Quantum security group rule %s not found"
msgstr "Группа безопаÑноÑти Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð¾Ð¼ %(rule_id)s не найдена."
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, fuzzy, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
"Группа безопаÑноÑти %(security_group_id)s не найдена Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° "
"%(project_id)s."
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, fuzzy, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -6132,12 +6322,12 @@ msgstr "Ошибка Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑтратоÑ
msgid "Invalid version string"
msgstr "ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ server_string: %s"
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6341,11 +6531,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6397,11 +6597,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, fuzzy, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr "Ошибка загрузки раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ %(ext_name)s: %(exc)s"
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6841,86 +7036,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr "ВыполнÑетÑÑ Ð»Ð¸ ÑоответÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ñлужба?"
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr "Ðевозможно найти другой compute"
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
-#, fuzzy, python-format
-msgid "Setting instance to %(state)s state."
-msgstr "%s. УÑтановка ÑоÑтоÑÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ vm_state на ERROR"
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
+#, python-format
+msgid "Setting instance to %s state."
+msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, fuzzy, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr "Попытка Ñобрать %(num_instances)d копию(й)"
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, fuzzy, python-format
msgid "Request Spec: %s"
msgstr "ЗапроÑ: %s"
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, fuzzy, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr "Ðе найден том Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s."
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr "Отфильтрованы %(hosts)s"
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, fuzzy, python-format
msgid "Weighed %(hosts)s"
msgstr "Отфильтрованы %(hosts)s"
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, fuzzy, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr "Ðевозможно перемеÑтить копию (%(instance_id)s) на текущий узел (%(host)s)."
@@ -6955,36 +7147,36 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr "ПринÑто Ñлужебное обновление Ð´Ð»Ñ %(service_name)s от %(host)s."
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, fuzzy, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr "ПринÑто Ñлужебное обновление Ð´Ð»Ñ %(service_name)s от %(host)s."
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr "Ðет Ñлужбы Ð´Ð»Ñ compute ID %s"
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
-#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
-msgstr "Ошибка schedule_%(method)s: %(ex)s"
-
#: nova/scheduler/scheduler_options.py:71
#, python-format
msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/scheduler_options.py:80
+#, python-format
+msgid "Could not decode scheduler options: '%s'"
+msgstr ""
+
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
-msgstr "Ðевозможно декодировать параметры раÑпиÑаниÑ: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
+msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
#, python-format
@@ -7007,7 +7199,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -7025,10 +7217,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -7076,13 +7281,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7268,7 +7478,7 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
#, fuzzy
msgid ""
@@ -7276,53 +7486,55 @@ msgid ""
"instances"
msgstr "Превышена квота Ð´Ð»Ñ %(pid)s, попытка выполнить %(min_count)s копий"
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr "ВыполнÑемые копии: %s"
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr "ПоÑле Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ копий: %s"
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°"
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr "ПоÑле принудительного Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ копий: %s"
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
#, fuzzy
msgid "spawn error"
msgstr "Ошибка аутентификации"
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7446,19 +7658,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr "Создание файлов в %s Ð´Ð»Ñ Ð¸Ð¼Ð¸Ñ‚Ð°Ñ†Ð¸Ð¸ гоÑтевого агента"
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr "Удаление файлов имитации гоÑтевого агента в %s"
@@ -7468,25 +7680,25 @@ msgstr "Удаление файлов имитации гоÑтевого аге
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, fuzzy, python-format
msgid "Loading compute driver '%s'"
msgstr "LoggingVolumeDriver: %s"
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
#, fuzzy
msgid "Unable to load the virtualization driver"
msgstr "Ðевозможно загрузить драйвер виртуализации: %s"
@@ -7496,7 +7708,7 @@ msgstr "Ðевозможно загрузить драйвер виртуалиÐ
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7519,20 +7731,20 @@ msgstr "Добавление правила группы безопаÑноÑÑ‚Ð
msgid "Adding provider rule: %s"
msgstr "Добавление правила поÑтавщика: %s"
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr "Ошибка анализа 'qemu-img info'."
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr "Преобразование в необработанный, но текущий формат %s"
@@ -7551,37 +7763,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, fuzzy, python-format
msgid "Destroy called on non-existing instance %s"
msgstr "Перечень копий"
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7630,85 +7842,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "Перечень копий"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, fuzzy, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr "Перечень копий"
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, fuzzy, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr "Создание Ñнимка копии Ð’Ðœ %s "
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, fuzzy, python-format
msgid "PXE deploy started for instance %s"
msgstr "Ñетевые раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, fuzzy, python-format
msgid "PXE deploy completed for instance %s"
msgstr "Получить конÑольный вывод Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, fuzzy, python-format
msgid "PXE deploy failed for instance %s"
msgstr "Ñетевые раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "Ñетевые раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "Получить конÑольный вывод Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "Ðевозможно найти узел Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
@@ -7795,24 +8007,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7822,7 +8034,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7836,22 +8048,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, fuzzy, python-format
msgid "Baremetal interface %s not found"
msgstr "разделы не найдена"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, fuzzy, python-format
msgid "Baremetal interface %s already in use"
msgstr "Ошибка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ интерфейÑа"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, fuzzy, python-format
msgid "Baremetal virtual interface %s not found"
msgstr "разделы не найдена"
@@ -7964,12 +8172,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -8225,12 +8433,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, fuzzy, python-format
msgid "Failed to mount image %(ex)s)"
msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð°Ð³ÐµÐ½Ñ‚Ð°: %(resp)r"
@@ -8259,23 +8467,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
#, fuzzy
msgid "get_console_output called"
msgstr "Получить конÑольный вывод Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
@@ -8289,7 +8497,7 @@ msgstr "ВерÑÐ¸Ñ Ð°Ð³ÐµÐ½Ñ‚Ð° копии: %s"
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8309,19 +8517,19 @@ msgstr "ПриÑвоить Ð°Ð´Ñ€ÐµÑ %s"
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8416,17 +8624,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, fuzzy, python-format
msgid "Starting live migration for VM: %s"
msgstr "Перечень копий"
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8445,11 +8653,11 @@ msgstr "Обновление агента до %s"
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8473,45 +8681,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, fuzzy, python-format
msgid "Getting info for disk: %s"
msgstr "уÑтановка Ñетевого узла"
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8530,12 +8738,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, fuzzy, python-format
msgid "Creating directory: %s"
msgstr "Создание папки Ñ Ð°Ð´Ñ€ÐµÑом %s"
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, fuzzy, python-format
msgid "Removing directory: %s"
msgstr "Создание папки Ñ Ð°Ð´Ñ€ÐµÑом %s"
@@ -8555,41 +8763,41 @@ msgstr "уÑтановка Ñетевого узла"
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, fuzzy, python-format
msgid "Removing snapshot %s"
msgstr "ЗапуÑк Ñнимка Ð´Ð»Ñ Ð’Ðœ %s"
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, fuzzy, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr "Ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€Ð°: %s"
@@ -8616,107 +8824,107 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
#, fuzzy
msgid "Spawning new instance"
msgstr "ЗапуÑк копии %s"
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
#, fuzzy
msgid "Spawn instance failed"
msgstr "Ошибка приоÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸"
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, fuzzy, python-format
msgid "Creating nic for instance: %s"
msgstr "Создание Ñнимка копии Ð’Ðœ %s "
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, fuzzy, python-format
msgid "Using config drive for instance: %s"
msgstr "Перечень копий"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, fuzzy, python-format
msgid "Creating config drive at %(path)s"
msgstr "Ðевозможно найти конфигурацию по адреÑу %(path)s"
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "Ðевозможно найти конфигурацию по адреÑу %(path)s"
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, fuzzy, python-format
msgid "Got request to destroy instance: %s"
msgstr "Ðевозможно ликвидировать vbd %s"
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, fuzzy, python-format
msgid "Instance not found: %s"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ Ð½Ðµ найдена"
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, fuzzy, python-format
msgid "Failed to destroy instance: %s"
msgstr "Ðевозможно ликвидировать vbd %s"
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
#, fuzzy
msgid "reboot instance"
msgstr "Перезагрузка копии %s"
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
#, fuzzy
msgid "Pause instance"
msgstr "Выполнение оÑтановки копий"
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
#, fuzzy
msgid "Unpause instance"
msgstr "Выполнение оÑтановки копий"
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
#, fuzzy
msgid "Suspend instance"
msgstr "Ошибка приоÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸"
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
#, fuzzy
msgid "Resume instance"
msgstr "Выполнение оÑтановки копий"
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
#, fuzzy
msgid "Power off instance"
msgstr "Питание включено на копии ВМ %s"
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
#, fuzzy
msgid "Power on instance"
msgstr "Питание включено на копии ВМ %s"
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8751,29 +8959,29 @@ msgstr "Сервер не найден"
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8785,53 +8993,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, fuzzy, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr "Подключить том %(volume_id)s Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s на %(device)s"
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, fuzzy, python-format
msgid "Attach volume failed: %s"
msgstr "ОтÑоединить том %s"
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr "Ðевозможно приÑоединить том Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, fuzzy, python-format
msgid "Detaching physical disk from instance: %s"
msgstr "Создание Ñнимка копии Ð’Ðœ %s "
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, fuzzy, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr "Ðевозможно найти узел Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8861,246 +9069,242 @@ msgstr "Ошибка поиÑка vbd Ð´Ð»Ñ vdi %s"
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Подключение к libvirt: %s"
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "том группы %s не ÑущеÑтвует"
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr "Ðеполадка Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸ÐµÐ¼ к libvirt"
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Подключение к libvirt: %s"
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Выполнение оÑтановки копий"
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, fuzzy, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr "Ошибка schedule_%(method)s: %(ex)s"
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Сети не определены."
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Сети не определены."
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "Ñнимок %s: Ñоздание завершено"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Ошибка перезагрузки копии"
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
#, fuzzy
msgid "Guest does not have a console available"
msgstr "Пользователь не имеет админиÑтративных привилегий"
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr "Создание изображениÑ"
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, fuzzy, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ xapi на приём образа vhd %(image)s"
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -9108,19 +9312,19 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
@@ -9129,32 +9333,48 @@ msgstr ""
"Ошибка libvirt во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð¸Ñка %(instance_name)s: [Код ошибки "
"%(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
#, fuzzy
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
@@ -9163,25 +9383,25 @@ msgstr ""
"Ðевозможно получить количеÑтво ЦПУ, так как Ñта возможноÑÑ‚ÑŒ не "
"реализована Ð´Ð»Ñ Ñтой платформы. Эту ошибку можно безопаÑно пропуÑтить."
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr "уÑÑ‚Ð°Ñ€ÐµÐ²ÑˆÐ°Ñ Ð²ÐµÑ€ÑÐ¸Ñ libvirt (не поддерживаетÑÑ getVersion)"
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "Получение размера образа Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð·Ð° %s"
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -9189,21 +9409,21 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, fuzzy, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
@@ -9212,29 +9432,29 @@ msgstr ""
"Создание временного файла %s Ð´Ð»Ñ Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… узлов Ñети compute о "
"необходимоÑти приÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð³Ð¾ же хранилища."
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9244,7 +9464,7 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
@@ -9253,22 +9473,22 @@ msgstr ""
"Создание временного файла %s Ð´Ð»Ñ Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… узлов Ñети compute о "
"необходимоÑти приÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð³Ð¾ же хранилища."
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
-#, fuzzy, python-format
-msgid "Live Migration failure: %(e)s"
-msgstr "Ошибка аутентификации: %s"
+#: nova/virt/libvirt/driver.py:3353
+#, python-format
+msgid "Live Migration failure: %s"
+msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, fuzzy, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr "plug_vifs() ошибка %(cnt)d.До %(max_retry)d попыток Ð´Ð»Ñ %(hostname)s."
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, fuzzy, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
@@ -9277,41 +9497,46 @@ msgstr ""
"Ошибка libvirt во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð¸Ñка %(instance_name)s: [Код ошибки "
"%(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping %s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3609
+#, python-format
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
#, fuzzy
msgid "Instance running successfully."
msgstr "ÐšÐ¾Ð¿Ð¸Ñ %s: выполнение"
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9332,15 +9557,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr "nwfilter(%(instance_filter_name)s) длÑ%(name)s не найден."
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr "БрандмауÑÑ€ iptables: ÐаÑтройка базовой фильтрации"
@@ -9494,22 +9719,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9517,62 +9742,63 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, fuzzy, python-format
msgid "Unexpected vif_type=%s"
msgstr "ÐÐµÐ¿Ñ€ÐµÐ´Ð²Ð¸Ð´ÐµÐ½Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: %s"
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
#, fuzzy
msgid "Failed while unplugging vif"
msgstr "Ошибка отÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ vif копии '%s'"
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9580,7 +9806,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9588,7 +9814,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9596,7 +9822,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9765,12 +9991,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9798,16 +10024,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr "Сбой ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ c melange"
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9817,7 +10043,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9891,73 +10117,73 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr "ÐšÐ¾Ð¿Ð¸Ñ Ð½Ðµ найдена"
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, fuzzy, python-format
msgid "PowerVM image creation failed: %s"
msgstr "ЗапуÑк моÑта интерфейÑа Ð´Ð»Ñ %s"
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, fuzzy, python-format
msgid "Creating LPAR instance '%s'"
msgstr "Перечень копий"
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, fuzzy, python-format
msgid "LPAR instance '%s' creation failed"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ %s: Создание образа"
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, fuzzy, python-format
msgid "Activating the LPAR instance '%s'"
msgstr "Выполнение запуÑка копий"
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, fuzzy, python-format
msgid "Instance spawned in %s seconds"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ Ð½Ðµ в приоÑтановленном ÑоÑтоÑнии"
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, fuzzy, python-format
msgid "Stopping instance %s for snapshot."
msgstr "ÐºÐ¾Ð¿Ð¸Ñ %s: выполнение Ñнимка"
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, fuzzy, python-format
msgid "Shutting down the instance '%s'"
msgstr "Включение Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð½Ð° копии Ð’Ðœ %s"
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, fuzzy, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr "Выполнение запуÑка копий"
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
#, fuzzy
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
@@ -9967,32 +10193,36 @@ msgstr ""
"Ðеобходимо указать vmwareapi_host_ip,vmwareapi_host_username и "
"vmwareapi_host_password useconnection_type=vmwareapi"
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, fuzzy, python-format
msgid "VMware Cluster %s is not found"
msgstr "маркер [%s] не найден"
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr "Ð’ vmwareapi:_create_session, принÑто Ñто иÑключение: %s"
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr "Ð’ vmwareapi:_call_method, принÑто Ñто иÑключение: %s"
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr "СоÑтоÑние задачи [%(task_name)s] %(task_ref)s: готово"
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr "СоÑтоÑние задачи [%(task_name)s] %(task_ref)s: ошибка %(error_info)s"
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr "Ð’ vmwareapi:_poll_task, принÑта Ñта ошибка %s"
@@ -10002,39 +10232,39 @@ msgstr "Ð’ vmwareapi:_poll_task, принÑта Ñта ошибка %s"
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr "%(text)s: _db_content => %(content)s"
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, fuzzy, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr "СвойÑтво %(attr)s не назначено Ð´Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñемого объекта %(objName)s"
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr "ОтÑутÑтвуют зарегиÑтрированные Ð’Ðœ"
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr "Завершение ÑеанÑа Ñ Ð½ÐµÐ¿Ð¾Ð»Ð°Ð´ÐºÐ°Ð¼Ð¸ или уже завершённого ÑеанÑа: %s"
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr "Ð¡ÐµÐ°Ð½Ñ Ð¸Ð¼ÐµÐµÑ‚ неполадки"
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr "ÐедопуÑтимый ÑеанÑ"
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
#, fuzzy
msgid "No Virtual Machine has been registered yet"
msgstr " ОтÑутÑтвуют зарегиÑтриованные виртуальные машины"
@@ -10257,12 +10487,12 @@ msgstr "Выполнение безотказной перезагрузки Ð’Ð
msgid "Did hard reboot of VM"
msgstr "Выполнение безотказной перезагрузки ВМ %s"
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
#, fuzzy
msgid "Destroying the VM"
msgstr "Выполнение перезагрузки xvp"
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
#, fuzzy
msgid "Destroyed the VM"
msgstr "ÐезарегиÑÑ‚Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð’Ðœ %s"
@@ -10380,101 +10610,106 @@ msgstr "Выключение Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð’Ðœ %s"
msgid "Powered on the VM"
msgstr "Питание ВМ %s выключено"
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "Обновление Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ '%(instance_uuid)s' до %(progress)d"
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Удалить том Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼: %s"
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
#, fuzzy
msgid "instance not present"
msgstr "ÐºÐ¾Ð¿Ð¸Ñ - %s не предÑтавлена"
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, fuzzy, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr "Ð’ vmwareapi:_create_session, принÑто Ñто иÑключение: %s"
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Удалить том Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼: %s"
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "Создать том из Ñнимка %s"
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, fuzzy, python-format
msgid "Automatically hard rebooting %d"
msgstr "ÐвтоматичеÑÐºÐ°Ñ Ð±ÐµÐ·Ð¾Ñ‚ÐºÐ°Ð·Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° %d"
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr "Создание папки Ñ Ð°Ð´Ñ€ÐµÑом %s"
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr "Создана папка Ñ Ð°Ð´Ñ€ÐµÑом %s"
@@ -10519,7 +10754,7 @@ msgstr "ÐŸÐ¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° SR %s"
msgid "Rescanned HBA %s "
msgstr "ÐŸÐ¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° SR %s"
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr "Точка Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð½Ðµ может быть переведена: %s"
@@ -10597,14 +10832,14 @@ msgstr "Ошибка поиÑка тома в базе данных"
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr "Точка Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ %(mountpoint)s отÑоединена от копии %(instance_name)s"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, fuzzy, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
"ВРЕМЯ ПРОСТОЯ: Срок вызова %(method)s иÑтёк. VM id=%(instance_uuid)s; "
"args=%(args)r"
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, fuzzy, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
@@ -10613,94 +10848,75 @@ msgstr ""
"ÐЕ РЕÐЛИЗОВÐÐО: Вызов %(method)s не поддерживаетÑÑ Ð°Ð³ÐµÐ½Ñ‚Ð¾Ð¼. VM "
"id=%(instance_uuid)s; args=%(args)r"
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, fuzzy, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr "Вызов %(method)s возвратил ошибку: %(e)s."
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð²ÐµÑ€Ñии агента"
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "Обновление агента до %s"
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr "ÐаÑтройка Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратора"
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr "ВоÑÑтановление Ñети"
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr "СредÑтва XenServer не уÑтановлены в Ñтот образ"
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr "Ошибка OpenSSL: %s"
@@ -10720,56 +10936,56 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, fuzzy, python-format
msgid "Could not determine key: %s"
msgstr "Ошибка Ð´ÐµÑˆÐ¸Ñ„Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð»Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ ключа: %s"
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr "ЗапуÑк узла на XenServer не поддерживаетÑÑ."
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
"Ðевозможно выполнить вход в XenAPI (недоÑтаточно Ñвободного меÑта на "
"Dom0?)"
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr "ИÑключение: %s"
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr "xenapi.fake не имеет реализации Ð´Ð»Ñ %s"
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr "ВыполнÑетÑÑ Ð²Ñ‹Ð·Ð¾Ð² getter %s"
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "ВыполнÑетÑÑ Ð²Ñ‹Ð·Ð¾Ð² getter %s"
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -11039,29 +11255,29 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, fuzzy, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
"Размер образа %(size_bytes)d превышает допуÑтимый instance_type размер "
"%(allowed_size_bytes)d"
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, fuzzy, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr "Получение образа %(image)s"
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, fuzzy, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr "Ядро не найдено Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð·Ð° %(image_id)s."
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
@@ -11070,204 +11286,204 @@ msgstr ""
"Превышен размер Ñдра/Ramdisk образа: %(vdi_size)d байт, макÑ. "
"%(max_size)d байт"
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr "Копирование VDI %s в /boot/guest на dom0"
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "Ядро/Ramdisk VDI %s ликвидирован"
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
#, fuzzy
msgid "Failed to fetch glance image"
msgstr "Ошибка перезагрузки копии"
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr "Обнаружен %(image_type_str)s формат Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð·Ð° %(image_ref)s"
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "ПоиÑк vdi %s Ð´Ð»Ñ Ñдра PV"
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr "VDI %s до Ñих пор доÑтупен"
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr "ÐŸÐ¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° SR %s"
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr "Ðевозможно найти SR типа Ñодержимого ISO"
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr "ISO: не Ñодержимое iso типа"
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr "ISO: SR Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð¹ PBD"
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸ Ñоздании уÑтройÑтва %s"
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr "ПодÑоединение VBD %s ... "
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr "ПодÑоединение VBD %s выполнено."
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr "VBD %(vbd_ref)s подÑоединено как %(orig_dev)s"
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
"VBD %(vbd_ref)s подÑоединено в неправильный dev, изменение Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð° "
"%(dev)s"
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "Ликвидирование VBD Ð´Ð»Ñ VDI %s ... "
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr "Ликвидирование VBD Ð´Ð»Ñ VDI %s завершено."
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr "Ðайдено Ñдро Xen %s"
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr "Ядро Xen не найдено. Загрузка HVM."
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -11275,16 +11491,16 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr "Разделы:"
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr " %(num)s: %(ptype)s %(size)d Ñекторов"
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
@@ -11293,44 +11509,44 @@ msgstr ""
"ЗапиÑÑŒ таблицы разделов %(primary_first)d %(primary_last)d в "
"%(dev_path)s..."
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr "ЗапиÑÑŒ таблицы разделов %s выполнена."
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
"Ошибка приÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемы (ожидаемо Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¹ не на базе "
"linux): %s"
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11619,11 +11835,16 @@ msgstr "Ðевозможно внедрить VDI Ð´Ð»Ñ SR %s"
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11657,32 +11878,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr "Ошибка в Ñоглашении: %s"
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr "ÐедопуÑтимый запроÑ: %s"
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr "ЗапроÑ: %s"
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ñделан Ñ Ð¾Ñ‚ÑутÑтвующим токеном: %s"
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ñделан Ñ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑтимым токеном: %s"
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr "ÐÐµÐ¿Ñ€ÐµÐ´Ð²Ð¸Ð´ÐµÐ½Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: %s"
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr "ЗапуÑк узла Ñети nova-xvpvncproxy (верÑÐ¸Ñ %s)"
@@ -11702,217 +11923,19 @@ msgstr "Образ должен быть доÑтупен"
msgid "status must be 'available'"
msgstr "Образ должен быть доÑтупен"
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ñ†ÐµÐ¿Ð¾Ñ‡ÐºÐ°: %r"
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr "ÐедопуÑтимый тип копии %(instance_type)s."
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr "Обновление Ñборки %s"
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr "Сеть %(network_id)s не найдена."
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr "Узел %(host)s не найден."
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не найдена"
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
-#~ msgstr ""
-#~ "Ðе раÑпознанное значение '%(action)s' Ð´Ð»Ñ "
-#~ "FLAGS.running_deleted_instance_action"
-
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-#~ "Вызов агентом %(method)s возвратил "
-#~ "недопуÑтимый ответ: %(ret)r. VM "
-#~ "id=%(instance_uuid)s; path=%(path)s; args=%(addl_args)r"
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr "Ошибка запроÑа верÑии агента: %(resp)r"
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð°Ð³ÐµÐ½Ñ‚Ð°: %(resp)r"
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr "Ошибка обмена ключей: %(resp)r"
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ: %(resp)r"
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr "Ошибка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ: %(resp)r"
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr "ВыполнÑетÑÑ Ð²Ñ‹Ð·Ð¾Ð² %(localname)s %(impl)s"
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr "Ðевозможно найти узел Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %s"
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr "Ðевозможно иÑпользовать глобальные Ð¿Ð¾Ð»Ð½Ð¾Ð¼Ð¾Ñ‡Ð¸Ñ %(role_id)s"
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr "ОтÑутÑтвует первичный VDI длÑ%(vm_ref)s"
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ xapi на приём образа vhd %(image)s"
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr "ÐеизвеÑтный формат образа %(disk_image_type)s"
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr "ISO: поиÑк SR %(sr_rec)s"
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr "Обновление Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ '%(instance_uuid)s' до %(progress)d"
-
-#~ msgid "Resize down not allowed without auto_disk_config"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr "Создание VIF Ð´Ð»Ñ Ð’Ðœ %(vm_ref)s, Ñеть %(network_ref)s."
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
-#~ msgid "Creating SR %(label)s"
-#~ msgstr "Создание SR %s"
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr "Внедрение SR %s"
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr "Ðевозможно получить ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ %(data)s, %(mountpoint)s"
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr "Ðевозможно получить ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ %(data)s, %(mountpoint)s"
-
-#~ msgid "Connect_volume: %(connection_info)s"
-#~ msgstr "Подключить том %(volume_id)s Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¸ %(instance_id)s на %(device)s"
-
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
-#~ msgstr "ÐšÐ¾Ð¿Ð¸Ñ %(instance_id)s не найдена."
-
diff --git a/nova/locale/ru_RU/LC_MESSAGES/nova.po b/nova/locale/ru_RU/LC_MESSAGES/nova.po
index 21cb81823..97ac72762 100644
--- a/nova/locale/ru_RU/LC_MESSAGES/nova.po
+++ b/nova/locale/ru_RU/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Russian (Russia) "
@@ -81,298 +81,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -380,85 +380,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -466,896 +466,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1370,15 +1391,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1400,17 +1421,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1443,120 +1464,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1570,7 +1601,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1716,261 +1747,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2140,89 +2166,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2270,6 +2314,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2316,21 +2361,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2338,6 +2386,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2362,6 +2412,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2375,14 +2426,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2399,6 +2450,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2415,273 +2467,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2722,6 +2778,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2761,6 +2818,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2853,36 +2911,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2922,32 +2989,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2958,40 +3025,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3025,7 +3099,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3073,7 +3147,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3264,30 +3338,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3299,7 +3379,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3316,16 +3396,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3349,7 +3429,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3408,12 +3488,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3432,152 +3517,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3589,7 +3687,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3622,35 +3720,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3671,312 +3818,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3990,244 +4137,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4291,12 +4438,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4317,653 +4464,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5063,11 +5234,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5083,15 +5254,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5170,7 +5360,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5192,44 +5382,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5260,43 +5450,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5325,47 +5515,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5571,42 +5761,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5726,13 +5916,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5767,151 +5957,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5932,12 +6123,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6140,11 +6331,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6194,11 +6395,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6623,86 +6819,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6737,35 +6930,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6789,7 +6982,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6807,10 +7000,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6858,13 +7064,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7049,59 +7260,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7221,19 +7434,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7243,25 +7456,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7270,7 +7483,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7292,20 +7505,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7324,37 +7537,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7402,85 +7615,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7565,24 +7778,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7592,7 +7805,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7606,22 +7819,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7734,12 +7943,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7992,12 +8201,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8026,23 +8235,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8055,7 +8264,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8074,19 +8283,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8175,17 +8384,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8204,11 +8413,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8232,45 +8441,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8289,12 +8498,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8314,41 +8523,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8374,98 +8583,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8499,29 +8708,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8533,53 +8742,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8609,240 +8818,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8850,75 +9055,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8926,50 +9147,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8979,69 +9200,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9060,15 +9286,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9222,22 +9448,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9245,61 +9471,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9307,7 +9534,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9315,7 +9542,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9323,7 +9550,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9483,12 +9710,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9515,16 +9742,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9534,7 +9761,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9607,105 +9834,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9715,39 +9946,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9959,11 +10190,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10068,100 +10299,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10206,7 +10442,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10282,106 +10518,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10397,54 +10614,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10704,228 +10921,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10933,58 +11150,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11250,11 +11467,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11288,32 +11510,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11331,212 +11553,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/sl_SI/LC_MESSAGES/nova.po b/nova/locale/sl_SI/LC_MESSAGES/nova.po
new file mode 100644
index 000000000..bcc9161c5
--- /dev/null
+++ b/nova/locale/sl_SI/LC_MESSAGES/nova.po
@@ -0,0 +1,11571 @@
+# Slovenian (Slovenia) translations for nova.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the nova project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Nova\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
+"PO-Revision-Date: 2013-06-28 18:59+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Slovenian (Slovenia) "
+"(http://www.transifex.com/projects/p/openstack/language/sl_SI/)\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 "
+"|| n%100==4 ? 2 : 3)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+
+#: nova/block_device.py:344 nova/virt/hyperv/basevolumeutils.py:91
+#, python-format
+msgid "block_device_list %s"
+msgstr ""
+
+#: nova/context.py:63
+#, python-format
+msgid "Arguments dropped when creating context: %s"
+msgstr ""
+
+#: nova/context.py:108
+#, python-format
+msgid "read_deleted can only be one of 'no', 'yes' or 'only', not %r"
+msgstr ""
+
+#: nova/crypto.py:55
+msgid "Filename of root CA"
+msgstr ""
+
+#: nova/crypto.py:58
+msgid "Filename of private key"
+msgstr ""
+
+#: nova/crypto.py:61
+msgid "Filename of root Certificate Revocation List"
+msgstr ""
+
+#: nova/crypto.py:64
+msgid "Where we keep our keys"
+msgstr ""
+
+#: nova/crypto.py:67
+msgid "Where we keep our root CA"
+msgstr ""
+
+#: nova/crypto.py:70
+msgid "Should we use a CA for each project?"
+msgstr ""
+
+#: nova/crypto.py:74
+#, python-format
+msgid "Subject for certificate for users, %s for project, user, timestamp"
+msgstr ""
+
+#: nova/crypto.py:79
+#, python-format
+msgid "Subject for certificate for projects, %s for project, timestamp"
+msgstr ""
+
+#: nova/crypto.py:210
+msgid "Unable to find the key"
+msgstr ""
+
+#: nova/crypto.py:393
+msgid "Failed to write inbound.csr"
+msgstr ""
+
+#: nova/crypto.py:395
+#, python-format
+msgid "Flags path: %s"
+msgstr ""
+
+#: nova/exception.py:113
+msgid "An unknown exception occurred."
+msgstr ""
+
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
+msgid "Exception in string format operation"
+msgstr ""
+
+#: nova/exception.py:155
+msgid "Unknown"
+msgstr ""
+
+#: nova/exception.py:165
+#, python-format
+msgid "Failed to encrypt text: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:169
+#, python-format
+msgid "Failed to decrypt text: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:173
+msgid "Virtual Interface creation failed"
+msgstr ""
+
+#: nova/exception.py:177
+msgid "5 attempts to create virtual interfacewith unique mac address failed"
+msgstr ""
+
+#: nova/exception.py:182
+#, python-format
+msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:187
+msgid "Not authorized."
+msgstr ""
+
+#: nova/exception.py:192
+msgid "User does not have admin privileges"
+msgstr ""
+
+#: nova/exception.py:196
+#, python-format
+msgid "Policy doesn't allow %(action)s to be performed."
+msgstr ""
+
+#: nova/exception.py:200
+#, python-format
+msgid "Image %(image_id)s is not active."
+msgstr ""
+
+#: nova/exception.py:204
+#, python-format
+msgid "Not authorized for image %(image_id)s."
+msgstr ""
+
+#: nova/exception.py:208
+msgid "Unacceptable parameters."
+msgstr ""
+
+#: nova/exception.py:213
+msgid "Block Device Mapping is Invalid."
+msgstr ""
+
+#: nova/exception.py:217
+#, python-format
+msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
+msgstr ""
+
+#: nova/exception.py:222
+#, python-format
+msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
+msgstr ""
+
+#: nova/exception.py:227
+msgid ""
+"Block Device Mapping is Invalid: some fields are not recognized, or have "
+"invalid values."
+msgstr ""
+
+#: nova/exception.py:233
+msgid "Block Device Mapping cannot be converted to legacy format. "
+msgstr ""
+
+#: nova/exception.py:238
+#, python-format
+msgid "Volume %(volume_id)s is not attached to anything"
+msgstr ""
+
+#: nova/exception.py:242
+#, python-format
+msgid ""
+"Volume %(volume_id)s did not finish being created even after we waited "
+"%(seconds)s seconds or %(attempts)s attempts."
+msgstr ""
+
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
+msgid "Keypair data is invalid"
+msgstr ""
+
+#: nova/exception.py:252
+msgid "The request is invalid."
+msgstr ""
+
+#: nova/exception.py:256
+msgid "Invalid input received"
+msgstr ""
+
+#: nova/exception.py:260
+msgid "Invalid volume"
+msgstr ""
+
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
+#: nova/api/openstack/compute/contrib/admin_actions.py:242
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
+msgid "Invalid metadata"
+msgstr ""
+
+#: nova/exception.py:268
+msgid "Invalid metadata size"
+msgstr ""
+
+#: nova/exception.py:272
+#, python-format
+msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
+msgstr ""
+
+#: nova/exception.py:276
+#, python-format
+msgid "Invalid IP protocol %(protocol)s."
+msgstr ""
+
+#: nova/exception.py:280
+#, python-format
+msgid "Invalid content type %(content_type)s."
+msgstr ""
+
+#: nova/exception.py:284
+#, python-format
+msgid "Invalid cidr %(cidr)s."
+msgstr ""
+
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
+msgid "Invalid Parameter: Unicode is not supported by the current database."
+msgstr ""
+
+#: nova/exception.py:295
+#, python-format
+msgid "%(err)s"
+msgstr ""
+
+#: nova/exception.py:299
+#, python-format
+msgid ""
+"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
+" %(reason)s."
+msgstr ""
+
+#: nova/exception.py:304
+#, python-format
+msgid "Group not valid. Reason: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
+msgid "Sort key supplied was not valid."
+msgstr ""
+
+#: nova/exception.py:312
+#, python-format
+msgid ""
+"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
+" the instance is in this state."
+msgstr ""
+
+#: nova/exception.py:317
+#, python-format
+msgid "Instance %(instance_id)s is not running."
+msgstr ""
+
+#: nova/exception.py:321
+#, python-format
+msgid "Instance %(instance_id)s is not in rescue mode"
+msgstr ""
+
+#: nova/exception.py:325
+#, python-format
+msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:329
+#, python-format
+msgid "Instance %(instance_id)s is not ready"
+msgstr ""
+
+#: nova/exception.py:333
+msgid "Failed to suspend instance"
+msgstr ""
+
+#: nova/exception.py:337
+#, python-format
+msgid "Failed to resume instance: %(reason)s."
+msgstr ""
+
+#: nova/exception.py:341
+#, python-format
+msgid "Failed to power on instance: %(reason)s."
+msgstr ""
+
+#: nova/exception.py:345
+#, python-format
+msgid "Failed to power off instance: %(reason)s."
+msgstr ""
+
+#: nova/exception.py:349
+msgid "Failed to reboot instance"
+msgstr ""
+
+#: nova/exception.py:353
+msgid "Failed to terminate instance"
+msgstr ""
+
+#: nova/exception.py:357
+msgid "Failed to deploy instance"
+msgstr ""
+
+#: nova/exception.py:361
+msgid "Service is unavailable at this time."
+msgstr ""
+
+#: nova/exception.py:365
+msgid "Insufficient compute resources."
+msgstr ""
+
+#: nova/exception.py:369
+#, python-format
+msgid "Compute service of %(host)s is unavailable at this time."
+msgstr ""
+
+#: nova/exception.py:373
+#, python-format
+msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
+msgstr ""
+
+#: nova/exception.py:378
+msgid "The supplied hypervisor type of is invalid."
+msgstr ""
+
+#: nova/exception.py:382
+msgid "The instance requires a newer hypervisor version than has been provided."
+msgstr ""
+
+#: nova/exception.py:387
+#, python-format
+msgid ""
+"The supplied disk path (%(path)s) already exists, it is expected not to "
+"exist."
+msgstr ""
+
+#: nova/exception.py:392
+#, python-format
+msgid "The supplied device path (%(path)s) is invalid."
+msgstr ""
+
+#: nova/exception.py:396
+#, python-format
+msgid "The supplied device path (%(path)s) is in use."
+msgstr ""
+
+#: nova/exception.py:401
+#, python-format
+msgid "The supplied device (%(device)s) is busy."
+msgstr ""
+
+#: nova/exception.py:405
+msgid "Unacceptable CPU info"
+msgstr ""
+
+#: nova/exception.py:409
+#, python-format
+msgid "%(address)s is not a valid IP v4/6 address."
+msgstr ""
+
+#: nova/exception.py:413
+#, python-format
+msgid ""
+"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
+"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
+msgstr ""
+
+#: nova/exception.py:419
+#, python-format
+msgid ""
+"vSwitch which contains the port group %(bridge)s is not associated with "
+"the desired physical adapter. Expected vSwitch is %(expected)s, but the "
+"one associated is %(actual)s."
+msgstr ""
+
+#: nova/exception.py:426
+#, python-format
+msgid "Disk format %(disk_format)s is not acceptable"
+msgstr ""
+
+#: nova/exception.py:430
+#, python-format
+msgid "Image %(image_id)s is unacceptable: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:434
+#, python-format
+msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:438
+#, python-format
+msgid "Ec2 id %(ec2_id)s is unacceptable."
+msgstr ""
+
+#: nova/exception.py:442
+#, python-format
+msgid "Expected a uuid but received %(uuid)s."
+msgstr ""
+
+#: nova/exception.py:446
+#, python-format
+msgid "Invalid ID received %(id)s."
+msgstr ""
+
+#: nova/exception.py:450
+msgid "Constraint not met."
+msgstr ""
+
+#: nova/exception.py:455
+msgid "Resource could not be found."
+msgstr ""
+
+#: nova/exception.py:460
+#, python-format
+msgid "No agent-build associated with id %(id)s."
+msgstr ""
+
+#: nova/exception.py:464
+#, python-format
+msgid "Volume %(volume_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:468
+#, python-format
+msgid "Snapshot %(snapshot_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:472
+#, python-format
+msgid "No target id found for volume %(volume_id)s."
+msgstr ""
+
+#: nova/exception.py:476
+#, python-format
+msgid "No disk at %(location)s"
+msgstr ""
+
+#: nova/exception.py:480
+#, python-format
+msgid "Could not find a handler for %(driver_type)s volume."
+msgstr ""
+
+#: nova/exception.py:484
+#, python-format
+msgid "Invalid image href %(image_href)s."
+msgstr ""
+
+#: nova/exception.py:488
+#, python-format
+msgid "Image %(image_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:492
+#, python-format
+msgid ""
+"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
+" dynamically when they are listed for the first time. Have you listed "
+"image ids since adding this image?"
+msgstr ""
+
+#: nova/exception.py:499
+#, python-format
+msgid "Project %(project_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:503
+msgid "Cannot find SR to read/write VDI."
+msgstr ""
+
+#: nova/exception.py:507
+#, python-format
+msgid "Network %(network_id)s is duplicated."
+msgstr ""
+
+#: nova/exception.py:511
+#, python-format
+msgid "Network %(network_id)s is still in use."
+msgstr ""
+
+#: nova/exception.py:515
+#, python-format
+msgid "%(req)s is required to create a network."
+msgstr ""
+
+#: nova/exception.py:519
+#, python-format
+msgid "Network %(network_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:523
+#, python-format
+msgid "Port id %(port_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:527
+#, python-format
+msgid "Network could not be found for bridge %(bridge)s"
+msgstr ""
+
+#: nova/exception.py:531
+#, python-format
+msgid "Network could not be found for uuid %(uuid)s"
+msgstr ""
+
+#: nova/exception.py:535
+#, python-format
+msgid "Network could not be found with cidr %(cidr)s."
+msgstr ""
+
+#: nova/exception.py:539
+#, python-format
+msgid "Network could not be found for instance %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:543
+msgid "No networks defined."
+msgstr ""
+
+#: nova/exception.py:547
+#, python-format
+msgid ""
+"Either Network uuid %(network_uuid)s is not present or is not assigned to"
+" the project %(project_id)s."
+msgstr ""
+
+#: nova/exception.py:552
+msgid "Could not find the datastore reference(s) which the VM uses."
+msgstr ""
+
+#: nova/exception.py:556
+#, python-format
+msgid "Port %(port_id)s is still in use."
+msgstr ""
+
+#: nova/exception.py:560
+#, python-format
+msgid "Port %(port_id)s not usable for instance %(instance)s."
+msgstr ""
+
+#: nova/exception.py:564
+#, python-format
+msgid "No free port available for instance %(instance)s."
+msgstr ""
+
+#: nova/exception.py:568
+#, python-format
+msgid "No fixed IP associated with id %(id)s."
+msgstr ""
+
+#: nova/exception.py:572
+#, python-format
+msgid "Fixed ip not found for address %(address)s."
+msgstr ""
+
+#: nova/exception.py:576
+#, python-format
+msgid "Instance %(instance_uuid)s has zero fixed ips."
+msgstr ""
+
+#: nova/exception.py:580
+#, python-format
+msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
+msgstr ""
+
+#: nova/exception.py:585
+#, python-format
+msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
+msgstr ""
+
+#: nova/exception.py:589
+#, python-format
+msgid ""
+"Fixed IP address (%(address)s) does not exist in network "
+"(%(network_uuid)s)."
+msgstr ""
+
+#: nova/exception.py:594
+#, python-format
+msgid ""
+"Fixed IP address %(address)s is already in use on instance "
+"%(instance_uuid)s."
+msgstr ""
+
+#: nova/exception.py:599
+#, python-format
+msgid "More than one instance is associated with fixed ip address '%(address)s'."
+msgstr ""
+
+#: nova/exception.py:604
+#, python-format
+msgid "Fixed IP address %(address)s is invalid."
+msgstr ""
+
+#: nova/exception.py:608
+msgid "Zero fixed ips available."
+msgstr ""
+
+#: nova/exception.py:612
+msgid "Zero fixed ips could be found."
+msgstr ""
+
+#: nova/exception.py:621
+#, python-format
+msgid "Floating ip %(address)s already exists."
+msgstr ""
+
+#: nova/exception.py:625
+#, python-format
+msgid "Floating ip not found for id %(id)s."
+msgstr ""
+
+#: nova/exception.py:629
+#, python-format
+msgid "The DNS entry %(name)s already exists in domain %(domain)s."
+msgstr ""
+
+#: nova/exception.py:633
+#, python-format
+msgid "Floating ip not found for address %(address)s."
+msgstr ""
+
+#: nova/exception.py:637
+#, python-format
+msgid "Floating ip not found for host %(host)s."
+msgstr ""
+
+#: nova/exception.py:641
+#, python-format
+msgid "Multiple floating ips are found for address %(address)s."
+msgstr ""
+
+#: nova/exception.py:645
+msgid "Floating ip pool not found."
+msgstr ""
+
+#: nova/exception.py:650
+msgid "Zero floating ips available."
+msgstr ""
+
+#: nova/exception.py:655
+#, python-format
+msgid "Floating ip %(address)s is associated."
+msgstr ""
+
+#: nova/exception.py:659
+#, python-format
+msgid "Floating ip %(address)s is not associated."
+msgstr ""
+
+#: nova/exception.py:663
+msgid "Zero floating ips exist."
+msgstr ""
+
+#: nova/exception.py:667
+#, python-format
+msgid "Interface %(interface)s not found."
+msgstr ""
+
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
+msgstr ""
+
+#: nova/exception.py:675
+#, python-format
+msgid "Keypair %(name)s not found for user %(user_id)s"
+msgstr ""
+
+#: nova/exception.py:679
+#, python-format
+msgid "Service %(service_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:683
+#, python-format
+msgid "Host %(host)s could not be found."
+msgstr ""
+
+#: nova/exception.py:687
+#, python-format
+msgid "Compute host %(host)s could not be found."
+msgstr ""
+
+#: nova/exception.py:691
+#, python-format
+msgid "Could not find binary %(binary)s on host %(host)s."
+msgstr ""
+
+#: nova/exception.py:695
+#, python-format
+msgid "Invalid reservation expiration %(expire)s."
+msgstr ""
+
+#: nova/exception.py:699
+#, python-format
+msgid ""
+"Change would make usage less than 0 for the following resources: "
+"%(unders)s"
+msgstr ""
+
+#: nova/exception.py:704
+msgid "Quota could not be found"
+msgstr ""
+
+#: nova/exception.py:708
+#, python-format
+msgid "Unknown quota resources %(unknown)s."
+msgstr ""
+
+#: nova/exception.py:712
+#, python-format
+msgid "Quota for project %(project_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:716
+#, python-format
+msgid "Quota class %(class_name)s could not be found."
+msgstr ""
+
+#: nova/exception.py:720
+#, python-format
+msgid "Quota usage for project %(project_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:724
+#, python-format
+msgid "Quota reservation %(uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:728
+#, python-format
+msgid "Quota exceeded for resources: %(overs)s"
+msgstr ""
+
+#: nova/exception.py:732
+#, python-format
+msgid "Security group %(security_group_id)s not found."
+msgstr ""
+
+#: nova/exception.py:736
+#, python-format
+msgid "Security group %(security_group_id)s not found for project %(project_id)s."
+msgstr ""
+
+#: nova/exception.py:741
+#, python-format
+msgid "Security group with rule %(rule_id)s not found."
+msgstr ""
+
+#: nova/exception.py:745
+#, python-format
+msgid ""
+"Security group %(security_group_id)s is already associated with the "
+"instance %(instance_id)s"
+msgstr ""
+
+#: nova/exception.py:750
+#, python-format
+msgid ""
+"Security group %(security_group_id)s is not associated with the instance "
+"%(instance_id)s"
+msgstr ""
+
+#: nova/exception.py:755
+#, python-format
+msgid "Security group default rule (%rule_id)s not found."
+msgstr ""
+
+#: nova/exception.py:759
+msgid ""
+"Network requires port_security_enabled and subnet associated in order to "
+"apply security groups."
+msgstr ""
+
+#: nova/exception.py:764
+msgid "No Unique Match Found."
+msgstr ""
+
+#: nova/exception.py:769
+#, python-format
+msgid "Migration %(migration_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:773
+#, python-format
+msgid "Migration not found for instance %(instance_id)s with status %(status)s."
+msgstr ""
+
+#: nova/exception.py:778
+#, python-format
+msgid "Console pool %(pool_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:782
+#, python-format
+msgid ""
+"Console pool of type %(console_type)s for compute host %(compute_host)s "
+"on proxy host %(host)s not found."
+msgstr ""
+
+#: nova/exception.py:788
+#, python-format
+msgid "Console %(console_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:792
+#, python-format
+msgid "Console for instance %(instance_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:796
+#, python-format
+msgid ""
+"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
+"found."
+msgstr ""
+
+#: nova/exception.py:801
+#, python-format
+msgid "Invalid console type %(console_type)s"
+msgstr ""
+
+#: nova/exception.py:805
+#, python-format
+msgid "Instance type %(instance_type_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:809
+#, python-format
+msgid "Instance type with name %(instance_type_name)s could not be found."
+msgstr ""
+
+#: nova/exception.py:814
+#, python-format
+msgid "Flavor %(flavor_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:818
+#, python-format
+msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
+msgstr ""
+
+#: nova/exception.py:823
+#, python-format
+msgid "Cell %(cell_name)s doesn't exist."
+msgstr ""
+
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
+#, python-format
+msgid "Inconsistency in cell routing: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:835
+#, python-format
+msgid "Service API method not found: %(detail)s"
+msgstr ""
+
+#: nova/exception.py:839
+msgid "Timeout waiting for response from cell"
+msgstr ""
+
+#: nova/exception.py:843
+#, python-format
+msgid "Cell message has reached maximum hop count: %(hop_count)s"
+msgstr ""
+
+#: nova/exception.py:847
+msgid "No cells available matching scheduling criteria."
+msgstr ""
+
+#: nova/exception.py:851
+#, python-format
+msgid "Exception received during cell processing: %(exc_name)s."
+msgstr ""
+
+#: nova/exception.py:855
+#, python-format
+msgid "Cell is not known for instance %(instance_uuid)s"
+msgstr ""
+
+#: nova/exception.py:859
+#, python-format
+msgid "Scheduler Host Filter %(filter_name)s could not be found."
+msgstr ""
+
+#: nova/exception.py:863
+#, python-format
+msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:868
+#, python-format
+msgid ""
+"Instance %(instance_uuid)s has no system metadata with key "
+"%(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:873
+#, python-format
+msgid ""
+"Instance Type %(instance_type_id)s has no extra specs with key "
+"%(extra_specs_key)s."
+msgstr ""
+
+#: nova/exception.py:878
+#, python-format
+msgid "File %(file_path)s could not be found."
+msgstr ""
+
+#: nova/exception.py:882
+msgid "Zero files could be found."
+msgstr ""
+
+#: nova/exception.py:886
+#, python-format
+msgid "Virtual switch associated with the network adapter %(adapter)s not found."
+msgstr ""
+
+#: nova/exception.py:891
+#, python-format
+msgid "Network adapter %(adapter)s could not be found."
+msgstr ""
+
+#: nova/exception.py:895
+#, python-format
+msgid "Class %(class_name)s could not be found: %(exception)s"
+msgstr ""
+
+#: nova/exception.py:899
+msgid "Action not allowed."
+msgstr ""
+
+#: nova/exception.py:903
+msgid "Rotation is not allowed for snapshots"
+msgstr ""
+
+#: nova/exception.py:907
+msgid "Rotation param is required for backup image_type"
+msgstr ""
+
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
+#, python-format
+msgid "Key pair '%(key_name)s' already exists."
+msgstr ""
+
+#: nova/exception.py:915
+#, python-format
+msgid "Instance %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:919
+#, python-format
+msgid "Instance Type with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:923
+#, python-format
+msgid "Instance Type with ID %(flavor_id)s already exists."
+msgstr ""
+
+#: nova/exception.py:927
+#, python-format
+msgid ""
+"Flavor access already exists for flavor %(flavor_id)s and project "
+"%(project_id)s combination."
+msgstr ""
+
+#: nova/exception.py:932
+#, python-format
+msgid "%(path)s is not on shared storage: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:936
+#, python-format
+msgid "%(path)s is not on local storage: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:940
+msgid "Migration error"
+msgstr ""
+
+#: nova/exception.py:944
+msgid "Migration pre-check error"
+msgstr ""
+
+#: nova/exception.py:948
+#, python-format
+msgid "Malformed message body: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:954
+#, python-format
+msgid "Could not find config at %(path)s"
+msgstr ""
+
+#: nova/exception.py:958
+#, python-format
+msgid "Could not load paste app '%(name)s' from %(path)s"
+msgstr ""
+
+#: nova/exception.py:962
+msgid "When resizing, instances must change flavor!"
+msgstr ""
+
+#: nova/exception.py:966
+#, python-format
+msgid "Resize error: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:970
+#, python-format
+msgid "Server disk was unable to be resized because: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:974
+msgid "Instance type's memory is too small for requested image."
+msgstr ""
+
+#: nova/exception.py:978
+msgid "Instance type's disk is too small for requested image."
+msgstr ""
+
+#: nova/exception.py:982
+#, python-format
+msgid "Insufficient free memory on compute node to start %(uuid)s."
+msgstr ""
+
+#: nova/exception.py:986
+msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
+msgstr ""
+
+#: nova/exception.py:990
+#, python-format
+msgid "No valid host was found. %(reason)s"
+msgstr ""
+
+#: nova/exception.py:994
+msgid "Quota exceeded"
+msgstr ""
+
+#: nova/exception.py:1001
+#, python-format
+msgid ""
+"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
+"%(used)d of %(allowed)d %(resource)s"
+msgstr ""
+
+#: nova/exception.py:1006
+msgid "Maximum number of floating ips exceeded"
+msgstr ""
+
+#: nova/exception.py:1010
+msgid "Maximum number of fixed ips exceeded"
+msgstr ""
+
+#: nova/exception.py:1014
+#, python-format
+msgid "Maximum number of metadata items exceeds %(allowed)d"
+msgstr ""
+
+#: nova/exception.py:1018
+msgid "Personality file limit exceeded"
+msgstr ""
+
+#: nova/exception.py:1022
+msgid "Personality file path too long"
+msgstr ""
+
+#: nova/exception.py:1026
+msgid "Personality file content too long"
+msgstr ""
+
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
+msgid "Maximum number of key pairs exceeded"
+msgstr ""
+
+#: nova/exception.py:1034
+msgid "Maximum number of security groups or rules exceeded"
+msgstr ""
+
+#: nova/exception.py:1038
+#, python-format
+msgid ""
+"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
+"%(reason)s."
+msgstr ""
+
+#: nova/exception.py:1043
+#, python-format
+msgid "Aggregate %(aggregate_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1047
+#, python-format
+msgid "Aggregate %(aggregate_name)s already exists."
+msgstr ""
+
+#: nova/exception.py:1051
+#, python-format
+msgid "Aggregate %(aggregate_id)s has no host %(host)s."
+msgstr ""
+
+#: nova/exception.py:1055
+#, python-format
+msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1060
+#, python-format
+msgid "Aggregate %(aggregate_id)s already has host %(host)s."
+msgstr ""
+
+#: nova/exception.py:1064
+msgid "Unable to create instance type"
+msgstr ""
+
+#: nova/exception.py:1068
+#, python-format
+msgid "Failed to set admin password on %(instance)s because %(reason)s"
+msgstr ""
+
+#: nova/exception.py:1074
+#, python-format
+msgid "Detected existing vlan with id %(vlan)d"
+msgstr ""
+
+#: nova/exception.py:1078
+msgid "There was a conflict when trying to complete your request."
+msgstr ""
+
+#: nova/exception.py:1083
+#, python-format
+msgid "Instance %(instance_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1087
+#, python-format
+msgid "Info cache for instance %(instance_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1092
+#, python-format
+msgid "Node %(node_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1096
+#, python-format
+msgid "Node with UUID %(node_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1100
+#, python-format
+msgid "Marker %(marker)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1104
+#, python-format
+msgid "Invalid id: %(val)s (expecting \"i-...\")."
+msgstr ""
+
+#: nova/exception.py:1108
+#, python-format
+msgid "Could not fetch image %(image_id)s"
+msgstr ""
+
+#: nova/exception.py:1112
+#, python-format
+msgid "Could not upload image %(image_id)s"
+msgstr ""
+
+#: nova/exception.py:1116
+#, python-format
+msgid "Task %(task_name)s is already running on host %(host)s"
+msgstr ""
+
+#: nova/exception.py:1120
+#, python-format
+msgid "Task %(task_name)s is not running on host %(host)s"
+msgstr ""
+
+#: nova/exception.py:1124
+#, python-format
+msgid "Instance %(instance_uuid)s is locked"
+msgstr ""
+
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
+#, python-format
+msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
+msgstr ""
+
+#: nova/exception.py:1137
+#, python-format
+msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
+msgstr ""
+
+#: nova/exception.py:1142
+#, python-format
+msgid "Failed to attach network adapter device to %(instance)s"
+msgstr ""
+
+#: nova/exception.py:1146
+#, python-format
+msgid "Failed to detach network adapter device from %(instance)s"
+msgstr ""
+
+#: nova/exception.py:1150
+#, python-format
+msgid ""
+"User data too large. User data must be no larger than %(maxsize)s bytes "
+"once base64 encoded. Your data is %(length)d bytes"
+msgstr ""
+
+#: nova/exception.py:1156
+msgid "User data needs to be valid base 64."
+msgstr ""
+
+#: nova/exception.py:1160
+#, python-format
+msgid ""
+"unexpected task state: expecting %(expected)s but the actual state is "
+"%(actual)s"
+msgstr ""
+
+#: nova/exception.py:1165
+#, python-format
+msgid ""
+"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
+"found"
+msgstr ""
+
+#: nova/exception.py:1170
+#, python-format
+msgid "Event %(event)s not found for action id %(action_id)s"
+msgstr ""
+
+#: nova/exception.py:1174
+#, python-format
+msgid ""
+"unexpected VM state: expecting %(expected)s but the actual state is "
+"%(actual)s"
+msgstr ""
+
+#: nova/exception.py:1179
+#, python-format
+msgid "The CA file for %(project)s could not be found"
+msgstr ""
+
+#: nova/exception.py:1183
+#, python-format
+msgid "The CRL file for %(project)s could not be found"
+msgstr ""
+
+#: nova/exception.py:1187
+msgid "Instance recreate is not implemented by this virt driver."
+msgstr ""
+
+#: nova/exception.py:1191
+#, python-format
+msgid ""
+"The service from servicegroup driver %(driver)s is temporarily "
+"unavailable."
+msgstr ""
+
+#: nova/exception.py:1196
+#, python-format
+msgid "%(binary)s attempted direct database access which is not allowed by policy"
+msgstr ""
+
+#: nova/exception.py:1201
+#, python-format
+msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
+msgstr ""
+
+#: nova/exception.py:1206
+#, python-format
+msgid ""
+"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
+"driver"
+msgstr ""
+
+#: nova/exception.py:1211
+#, python-format
+msgid "Invalid Base 64 data for file %(path)s"
+msgstr ""
+
+#: nova/exception.py:1215
+#, python-format
+msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:1219
+#, python-format
+msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:1224
+#, python-format
+msgid "Shadow table with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:1229
+#, python-format
+msgid "Instance rollback performed due to: %s"
+msgstr ""
+
+#: nova/exception.py:1235
+#, python-format
+msgid "Unsupported object type %(objtype)s"
+msgstr ""
+
+#: nova/exception.py:1239
+#, python-format
+msgid "Cannot call %(method)s on orphaned %(objtype)s object"
+msgstr ""
+
+#: nova/exception.py:1243
+#, python-format
+msgid "Version %(objver)s of %(objname)s is not supported"
+msgstr ""
+
+#: nova/exception.py:1247
+#, python-format
+msgid "Core API extensions are missing: %(missing_apis)s"
+msgstr ""
+
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
+#, python-format
+msgid "Instance group %(group_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1268
+#, python-format
+msgid "Instance group %(group_uuid)s already exists."
+msgstr ""
+
+#: nova/exception.py:1272
+#, python-format
+msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1277
+#, python-format
+msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:1282
+#, python-format
+msgid "Instance group %(group_uuid)s has no policy %(policy)s."
+msgstr ""
+
+#: nova/hooks.py:62
+#, python-format
+msgid "Running %(name)s pre-hook: %(obj)s"
+msgstr ""
+
+#: nova/hooks.py:70
+#, python-format
+msgid "Running %(name)s post-hook: %(obj)s"
+msgstr ""
+
+#: nova/manager.py:162
+msgid "Notifying Schedulers of capabilities ..."
+msgstr ""
+
+#: nova/notifications.py:116 nova/notifications.py:156
+msgid "Failed to send state update notification"
+msgstr ""
+
+#: nova/notifications.py:241
+msgid "Failed to get nw_info"
+msgstr ""
+
+#: nova/policy.py:32
+msgid "JSON file representing policy"
+msgstr ""
+
+#: nova/policy.py:35
+msgid "Rule checked when requested rule is not found"
+msgstr ""
+
+#: nova/quota.py:972
+#, python-format
+msgid "Created reservations %(reservations)s"
+msgstr ""
+
+#: nova/quota.py:994
+#, python-format
+msgid "Failed to commit reservations %(reservations)s"
+msgstr ""
+
+#: nova/quota.py:997
+#, python-format
+msgid "Committed reservations %(reservations)s"
+msgstr ""
+
+#: nova/quota.py:1017
+#, python-format
+msgid "Failed to roll back reservations %(reservations)s"
+msgstr ""
+
+#: nova/quota.py:1020
+#, python-format
+msgid "Rolled back reservations %(reservations)s"
+msgstr ""
+
+#: nova/service.py:153
+#, python-format
+msgid "Starting %(topic)s node (version %(version)s)"
+msgstr ""
+
+#: nova/service.py:170 nova/openstack/common/rpc/service.py:47
+#, python-format
+msgid "Creating Consumer connection for Service %s"
+msgstr ""
+
+#: nova/service.py:190
+#, python-format
+msgid "Join ServiceGroup membership for this service %s"
+msgstr ""
+
+#: nova/service.py:270
+msgid "Service killed that has no database entry"
+msgstr ""
+
+#: nova/service.py:292
+#, python-format
+msgid "Temporary directory is invalid: %s"
+msgstr ""
+
+#: nova/service.py:394
+msgid "serve() can only be called once"
+msgstr ""
+
+#: nova/utils.py:150
+#, python-format
+msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
+msgstr ""
+
+#: nova/utils.py:178
+#, python-format
+msgid "debug in callback: %s"
+msgstr ""
+
+#: nova/utils.py:362
+#, python-format
+msgid "Couldn't get IPv4 : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:379
+#, python-format
+msgid "IPv4 address is not found.: %s"
+msgstr ""
+
+#: nova/utils.py:382
+#, python-format
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:397
+#, python-format
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
+msgstr ""
+
+#: nova/utils.py:589
+#, python-format
+msgid "Expected object of type: %s"
+msgstr ""
+
+#: nova/utils.py:618
+#, python-format
+msgid "Invalid server_string: %s"
+msgstr ""
+
+#: nova/utils.py:760
+#, python-format
+msgid "timefunc: '%(name)s' took %(total_time).2f secs"
+msgstr ""
+
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
+#, python-format
+msgid "Reloading cached file %s"
+msgstr ""
+
+#: nova/utils.py:936 nova/virt/configdrive.py:177
+#, python-format
+msgid "Could not remove tmpdir: %s"
+msgstr ""
+
+#: nova/utils.py:1103
+#, python-format
+msgid "%s is not a string or unicode"
+msgstr ""
+
+#: nova/utils.py:1107
+#, python-format
+msgid "%(name)s has less than %(min_length)s characters."
+msgstr ""
+
+#: nova/utils.py:1112
+#, python-format
+msgid "%(name)s has more than %(max_length)s characters."
+msgstr ""
+
+#: nova/wsgi.py:125
+#, python-format
+msgid "%(name)s listening on %(host)s:%(port)s"
+msgstr ""
+
+#: nova/wsgi.py:140
+#, python-format
+msgid "Unable to find cert_file : %s"
+msgstr ""
+
+#: nova/wsgi.py:144
+#, python-format
+msgid "Unable to find ca_file : %s"
+msgstr ""
+
+#: nova/wsgi.py:148
+#, python-format
+msgid "Unable to find key_file : %s"
+msgstr ""
+
+#: nova/wsgi.py:152
+msgid ""
+"When running server in SSL mode, you must specify both a cert_file and "
+"key_file option value in your configuration file"
+msgstr ""
+
+#: nova/wsgi.py:183
+#, python-format
+msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
+msgstr ""
+
+#: nova/wsgi.py:210
+msgid "Stopping WSGI server."
+msgstr ""
+
+#: nova/wsgi.py:228
+msgid "WSGI server has stopped."
+msgstr ""
+
+#: nova/wsgi.py:297
+msgid "You must implement __call__"
+msgstr ""
+
+#: nova/wsgi.py:483
+#, python-format
+msgid "Loading app %(name)s from %(path)s"
+msgstr ""
+
+#: nova/api/auth.py:116
+msgid "Invalid service catalog json."
+msgstr ""
+
+#: nova/api/auth.py:139
+msgid "Sourcing roles from deprecated X-Role HTTP header"
+msgstr ""
+
+#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
+#: nova/api/metadata/password.py:61
+msgid "Request is too large."
+msgstr ""
+
+#: nova/api/validator.py:131
+#, python-format
+msgid "%(key)s with value %(value)s failed validator %(name)s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:81
+#, python-format
+msgid "%(code)s: %(message)s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:104
+#, python-format
+msgid "FaultWrapper: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:175
+msgid "Too many failed authentications."
+msgstr ""
+
+#: nova/api/ec2/__init__.py:184
+#, python-format
+msgid ""
+"Access key %(access_key)s has had %(failures)d failed authentications and"
+" will be locked out for %(lock_mins)d minutes."
+msgstr ""
+
+#: nova/api/ec2/__init__.py:203
+msgid "Signature not provided"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:207
+msgid "Access key not provided"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:242 nova/api/ec2/__init__.py:257
+msgid "Failure communicating with keystone"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:256
+#, python-format
+msgid "Keystone failure: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:316
+msgid "Timestamp failed validation."
+msgstr ""
+
+#: nova/api/ec2/__init__.py:336
+#, python-format
+msgid "action: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:338
+#, python-format
+msgid "arg: %(key)s\t\tval: %(value)s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:414
+#, python-format
+msgid "Unauthorized request for controller=%(controller)s and action=%(action)s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:488
+#, python-format
+msgid "InstanceNotFound raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:494
+#, python-format
+msgid "VolumeNotFound raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:500
+#, python-format
+msgid "SnapshotNotFound raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:506
+#, python-format
+msgid "NotFound raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:515
+#, python-format
+msgid "KeyPairExists raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:520
+#, python-format
+msgid "InvalidKeypair raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:525
+#, python-format
+msgid "InvalidParameterValue raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:529
+#, python-format
+msgid "InvalidPortRange raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:533
+#, python-format
+msgid "NotAuthorized raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:537
+#, python-format
+msgid "InvalidRequest raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:541
+#, python-format
+msgid "QuotaError raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:545
+#, python-format
+msgid "Invalid id: bogus (expecting \"i-...\"): %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:554
+#, python-format
+msgid "Unexpected error raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:555
+#, python-format
+msgid "Environment: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:557 nova/api/metadata/handler.py:136
+#: nova/api/metadata/handler.py:187
+msgid "An unknown error has occurred. Please try your request again."
+msgstr ""
+
+#: nova/api/ec2/apirequest.py:61
+#, python-format
+msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:401
+#, python-format
+msgid "Create snapshot of volume %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:426
+#, python-format
+msgid "Could not find key pair(s): %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:443
+#, python-format
+msgid "Create key pair %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
+#: nova/api/openstack/compute/contrib/keypairs.py:93
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
+msgid "Quota exceeded, too many key pairs."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:459
+#, python-format
+msgid "Import key %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:479
+#, python-format
+msgid "Delete key pair %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
+msgid "Not enough parameters, need group_name or group_id"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:626
+#, python-format
+msgid "%s Not enough parameters to build a valid rule"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:633
+#, python-format
+msgid "Invalid IP protocol %s."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
+msgid "No rule for the specified parameters."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:686
+#, python-format
+msgid "%s - This rule already exists in group"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:769
+#, python-format
+msgid "Get console output for instance %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:840
+#, python-format
+msgid "Create volume from snapshot %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
+#, python-format
+msgid "Create volume of %s GB"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:871
+msgid "Delete Failed"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:884
+#, python-format
+msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:895
+msgid "Attach Failed."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
+#, python-format
+msgid "Detach volume %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:924
+msgid "Detach Volume Failed."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
+#, python-format
+msgid "attribute not supported: %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1082
+#, python-format
+msgid "vol = %s\n"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1242
+msgid "Allocate address"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1246
+msgid "No more floating IPs available"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1250
+#, python-format
+msgid "Release address %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1255
+msgid "Unable to release IP Address."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1258
+#, python-format
+msgid "Associate address %(public_ip)s to instance %(instance_id)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1268
+msgid "Unable to associate IP Address, no fixed_ips."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1276
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
+#, python-format
+msgid "multiple fixed_ips exist, using the first: %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1285
+msgid "Floating ip is already associated."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1288
+msgid "l3driver call to add floating ip failed."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1291
+msgid "Error, unable to associate floating ip."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1299
+#, python-format
+msgid "Disassociate address %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1304
+msgid "Floating ip is not associated."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1334
+msgid "Image must be available"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1372
+msgid "Going to start terminating instances"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1382
+#, python-format
+msgid "Reboot instance %r"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1392
+msgid "Going to stop instances"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1402
+msgid "Going to start instances"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1493
+#, python-format
+msgid "De-registering image %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1509
+msgid "imageLocation is required"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1528
+#, python-format
+msgid "Registered image %(image_location)s with id %(image_id)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1591
+msgid "user or group not specified"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1593
+msgid "only group \"all\" is supported"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1595
+msgid "operation_type must be add or remove"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1597
+#, python-format
+msgid "Updating image %s publicity"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1610
+#, python-format
+msgid "Not allowed to modify attributes for image %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1638
+#, python-format
+msgid ""
+"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
+"have a volume attached at root (%(root)s)"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1670
+#, python-format
+msgid "Couldn't stop instance with in %d sec"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1688
+#, python-format
+msgid "image of %(instance)s at %(now)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
+msgid "resource_id and tag are required"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+msgid "Expecting a list of resources"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
+msgid "Only instances implemented"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+msgid "Expecting a list of tagSets"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1780
+msgid "Expecting key to be set"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1853
+msgid "Invalid CIDR"
+msgstr ""
+
+#: nova/api/ec2/ec2utils.py:249
+msgid "Request must include either Timestamp or Expires, but cannot contain both"
+msgstr ""
+
+#: nova/api/ec2/ec2utils.py:267
+msgid "Timestamp is invalid."
+msgstr ""
+
+#: nova/api/metadata/handler.py:108
+msgid ""
+"X-Instance-ID present in request headers. The "
+"'service_quantum_metadata_proxy' option must be enabled to process this "
+"header."
+msgstr ""
+
+#: nova/api/metadata/handler.py:134 nova/api/metadata/handler.py:141
+#, python-format
+msgid "Failed to get metadata for ip: %s"
+msgstr ""
+
+#: nova/api/metadata/handler.py:153
+msgid "X-Instance-ID header is missing from request."
+msgstr ""
+
+#: nova/api/metadata/handler.py:155
+msgid "Multiple X-Instance-ID headers found within request."
+msgstr ""
+
+#: nova/api/metadata/handler.py:169
+#, python-format
+msgid ""
+"X-Instance-ID-Signature: %(signature)s does not match the expected value:"
+" %(expected_signature)s for id: %(instance_id)s. Request From: "
+"%(remote_address)s"
+msgstr ""
+
+#: nova/api/metadata/handler.py:178
+msgid "Invalid proxy request signature."
+msgstr ""
+
+#: nova/api/metadata/handler.py:185 nova/api/metadata/handler.py:192
+#, python-format
+msgid "Failed to get metadata for instance id: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:79
+#, python-format
+msgid "Caught error: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:88
+#, python-format
+msgid "%(url)s returned with HTTP %(status)d"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:175
+msgid "Must specify an ExtensionManager class"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:186 nova/api/openstack/__init__.py:349
+#, python-format
+msgid "Extended resource: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:221 nova/api/openstack/__init__.py:396
+#, python-format
+msgid ""
+"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
+"resource"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:226 nova/api/openstack/__init__.py:401
+#, python-format
+msgid "Extension %(ext_name)s extending resource: %(collection)s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:269
+#, python-format
+msgid "Not loading %s because it is in the blacklist"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:274
+#, python-format
+msgid "Not loading %s because it is not in the whitelist"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:285
+#, python-format
+msgid "v3 API Extension Blacklist: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:287
+#, python-format
+msgid "v3 API Extension Whitelist: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:294
+#, python-format
+msgid "Extensions in both blacklist and whitelist: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:318
+#, python-format
+msgid "Missing core API extensions: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:346
+#, python-format
+msgid "Running _register_resources on %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:388
+#, python-format
+msgid "Running _register_controllers on %s"
+msgstr ""
+
+#: nova/api/openstack/common.py:114
+#, python-format
+msgid ""
+"status is UNKNOWN from vm_state=%(vm_state)s task_state=%(task_state)s. "
+"Bad upgrade or db corrupted?"
+msgstr ""
+
+#: nova/api/openstack/common.py:154 nova/api/openstack/common.py:188
+msgid "limit param must be an integer"
+msgstr ""
+
+#: nova/api/openstack/common.py:157 nova/api/openstack/common.py:192
+msgid "limit param must be positive"
+msgstr ""
+
+#: nova/api/openstack/common.py:182
+msgid "offset param must be an integer"
+msgstr ""
+
+#: nova/api/openstack/common.py:196
+msgid "offset param must be positive"
+msgstr ""
+
+#: nova/api/openstack/common.py:231 nova/api/openstack/compute/servers.py:556
+#: nova/api/openstack/compute/plugins/v3/servers.py:598
+#, python-format
+msgid "marker [%s] not found"
+msgstr ""
+
+#: nova/api/openstack/common.py:271
+#, python-format
+msgid "href %s does not contain version"
+msgstr ""
+
+#: nova/api/openstack/common.py:286
+msgid "Image metadata limit exceeded"
+msgstr ""
+
+#: nova/api/openstack/common.py:294
+msgid "Image metadata key cannot be blank"
+msgstr ""
+
+#: nova/api/openstack/common.py:297
+msgid "Image metadata key too long"
+msgstr ""
+
+#: nova/api/openstack/common.py:300
+msgid "Invalid image metadata"
+msgstr ""
+
+#: nova/api/openstack/common.py:363
+#, python-format
+msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
+msgstr ""
+
+#: nova/api/openstack/common.py:366
+#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
+msgid "Instance is in an invalid state for '%s'"
+msgstr ""
+
+#: nova/api/openstack/common.py:449
+msgid "Rejecting snapshot request, snapshots currently disabled"
+msgstr ""
+
+#: nova/api/openstack/common.py:451
+msgid "Instance snapshots are not permitted at this time."
+msgstr ""
+
+#: nova/api/openstack/extensions.py:197
+#, python-format
+msgid "Loaded extension: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/compute/plugins/__init__.py:46
+#, python-format
+msgid "Ext name: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/compute/plugins/__init__.py:47
+#, python-format
+msgid "Ext alias: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/compute/plugins/__init__.py:48
+#, python-format
+msgid "Ext description: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/compute/plugins/__init__.py:50
+#, python-format
+msgid "Ext namespace: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:241
+#, python-format
+msgid "Ext updated: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:243
+#: nova/api/openstack/compute/plugins/__init__.py:53
+#, python-format
+msgid "Exception loading extension: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:257
+#, python-format
+msgid "Loading extension %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:266
+#, python-format
+msgid "Calling extension factory %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:278
+#, python-format
+msgid "Failed to load extension %(ext_factory)s: %(exc)s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:349
+#, python-format
+msgid "Failed to load extension %(classpath)s: %(exc)s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:372
+#, python-format
+msgid "Failed to load extension %(ext_name)s:%(exc)s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
+msgid "cannot understand JSON"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:631
+msgid "too many body keys"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:675
+#, python-format
+msgid "Exception handling resource: %s"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:679
+#, python-format
+msgid "Fault thrown: %s"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:682
+#, python-format
+msgid "HTTP exception thrown: %s"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:796
+msgid "Unrecognized Content-Type provided in request"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:800
+msgid "No Content-Type provided in request"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:804
+msgid "Empty body provided in request"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:912
+#, python-format
+msgid "There is no such action: %s"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:915 nova/api/openstack/wsgi.py:935
+#: nova/api/openstack/compute/server_metadata.py:58
+#: nova/api/openstack/compute/server_metadata.py:76
+#: nova/api/openstack/compute/server_metadata.py:101
+#: nova/api/openstack/compute/server_metadata.py:126
+#: nova/api/openstack/compute/contrib/admin_actions.py:211
+#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
+msgid "Malformed request body"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:919
+#, python-format
+msgid "Action: '%(action)s', body: %(body)s"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:923
+#, python-format
+msgid "Calling method %s"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:932
+msgid "Unsupported Content-Type"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:944
+#, python-format
+msgid ""
+"Malformed request URL: URL's project_id '%(project_id)s' doesn't match "
+"Context's project_id '%(context_project_id)s'"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:1181
+#, python-format
+msgid "Returning %(code)s to user: %(explanation)s"
+msgstr ""
+
+#: nova/api/openstack/xmlutil.py:270
+msgid "element is not a child"
+msgstr ""
+
+#: nova/api/openstack/xmlutil.py:419
+msgid "root element selecting a list"
+msgstr ""
+
+#: nova/api/openstack/xmlutil.py:742
+#, python-format
+msgid "Template tree mismatch; adding slave %(slavetag)s to master %(mastertag)s"
+msgstr ""
+
+#: nova/api/openstack/xmlutil.py:862
+msgid "subclasses must implement construct()!"
+msgstr ""
+
+#: nova/api/openstack/compute/extensions.py:38
+msgid "Initializing extension manager."
+msgstr ""
+
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
+#, python-format
+msgid "Invalid is_public filter [%s]"
+msgstr ""
+
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
+#, python-format
+msgid "Invalid minRam filter [%s]"
+msgstr ""
+
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
+#, python-format
+msgid "Invalid minDisk filter [%s]"
+msgstr ""
+
+#: nova/api/openstack/compute/image_metadata.py:36
+#: nova/api/openstack/compute/images.py:141
+#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
+msgid "Image not found."
+msgstr ""
+
+#: nova/api/openstack/compute/image_metadata.py:76
+msgid "Incorrect request body format"
+msgstr ""
+
+#: nova/api/openstack/compute/image_metadata.py:80
+#: nova/api/openstack/compute/server_metadata.py:80
+#: nova/api/openstack/compute/contrib/flavorextraspecs.py:85
+msgid "Request body and URI mismatch"
+msgstr ""
+
+#: nova/api/openstack/compute/image_metadata.py:83
+#: nova/api/openstack/compute/server_metadata.py:84
+#: nova/api/openstack/compute/contrib/flavorextraspecs.py:88
+msgid "Request body contains too many items"
+msgstr ""
+
+#: nova/api/openstack/compute/image_metadata.py:109
+msgid "Invalid metadata key"
+msgstr ""
+
+#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
+msgid "You are not allowed to delete the image."
+msgstr ""
+
+#: nova/api/openstack/compute/ips.py:68
+#: nova/api/openstack/compute/plugins/v3/ips.py:69
+msgid "Instance does not exist"
+msgstr ""
+
+#: nova/api/openstack/compute/ips.py:91
+#: nova/api/openstack/compute/plugins/v3/ips.py:92
+msgid "Instance is not a member of specified network"
+msgstr ""
+
+#: nova/api/openstack/compute/limits.py:148
+#, python-format
+msgid ""
+"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
+"%(unit_string)s."
+msgstr ""
+
+#: nova/api/openstack/compute/limits.py:276
+msgid "This request was rate-limited."
+msgstr ""
+
+#: nova/api/openstack/compute/server_metadata.py:38
+#: nova/api/openstack/compute/server_metadata.py:122
+#: nova/api/openstack/compute/server_metadata.py:173
+msgid "Server does not exist"
+msgstr ""
+
+#: nova/api/openstack/compute/server_metadata.py:154
+#: nova/api/openstack/compute/server_metadata.py:165
+msgid "Metadata item was not found"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:521
+#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
+#: nova/api/openstack/compute/plugins/v3/servers.py:563
+msgid "Invalid changes-since value"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:540
+#: nova/api/openstack/compute/plugins/v3/servers.py:582
+msgid "Only administrators may list deleted instances"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:559
+#: nova/api/openstack/compute/plugins/v3/servers.py:601
+#, python-format
+msgid "Flavor '%s' could not be found "
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:576
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
+#: nova/api/openstack/compute/plugins/v3/servers.py:618
+#: nova/api/openstack/compute/plugins/v3/servers.py:785
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
+msgid "Instance could not be found"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:597
+#: nova/api/openstack/compute/plugins/v3/servers.py:637
+msgid "Device name cannot include spaces."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:614
+#: nova/api/openstack/compute/plugins/v3/servers.py:654
+#, python-format
+msgid "Bad personality format: missing %s"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:617
+#: nova/api/openstack/compute/plugins/v3/servers.py:657
+msgid "Bad personality format"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:620
+#: nova/api/openstack/compute/plugins/v3/servers.py:660
+#, python-format
+msgid "Personality content for %s cannot be decoded"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:651
+#: nova/api/openstack/compute/plugins/v3/servers.py:691
+msgid "Unknown argment : port"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:654
+#: nova/api/openstack/compute/plugins/v3/servers.py:694
+#, python-format
+msgid "Bad port format: port uuid is not in proper format (%s)"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:664
+#: nova/api/openstack/compute/plugins/v3/servers.py:704
+#, python-format
+msgid "Bad networks format: network uuid is not in proper format (%s)"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:674
+#: nova/api/openstack/compute/plugins/v3/servers.py:714
+#, python-format
+msgid "Invalid fixed IP address (%s)"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:687
+#: nova/api/openstack/compute/plugins/v3/servers.py:727
+#, python-format
+msgid "Duplicate networks (%s) are not allowed"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:693
+#: nova/api/openstack/compute/plugins/v3/servers.py:733
+#, python-format
+msgid "Bad network format: missing %s"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
+#: nova/api/openstack/compute/plugins/v3/servers.py:736
+msgid "Bad networks format"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:722
+#: nova/api/openstack/compute/plugins/v3/servers.py:762
+msgid "Userdata content cannot be decoded"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:727
+#: nova/api/openstack/compute/plugins/v3/servers.py:767
+msgid "accessIPv4 is not proper IPv4 format"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:732
+#: nova/api/openstack/compute/plugins/v3/servers.py:772
+msgid "accessIPv6 is not proper IPv6 format"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:761
+#: nova/api/openstack/compute/plugins/v3/servers.py:801
+msgid "Server name is not defined"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
+#: nova/api/openstack/compute/plugins/v3/servers.py:876
+#: nova/api/openstack/compute/plugins/v3/servers.py:993
+msgid "Invalid flavorRef provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:854
+#: nova/api/openstack/compute/plugins/v3/servers.py:924
+msgid "min_count must be an integer value"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:857
+#: nova/api/openstack/compute/plugins/v3/servers.py:927
+msgid "min_count must be > 0"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:863
+#: nova/api/openstack/compute/plugins/v3/servers.py:933
+msgid "max_count must be an integer value"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:866
+#: nova/api/openstack/compute/plugins/v3/servers.py:936
+msgid "max_count must be > 0"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:870
+#: nova/api/openstack/compute/plugins/v3/servers.py:940
+msgid "min_count must be <= max_count"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:914
+#: nova/api/openstack/compute/plugins/v3/servers.py:990
+msgid "Can not find requested image"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:920
+#: nova/api/openstack/compute/plugins/v3/servers.py:996
+msgid "Invalid key_name provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
+msgid "HostId cannot be updated."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
+msgid "Personality cannot be updated."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
+msgid "Instance has not been resized."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+msgid "Flavor used by the instance could not be found."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
+msgid "Argument 'type' for reboot is not HARD or SOFT"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
+msgid "Missing argument 'type' for reboot"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
+msgid "Unable to locate requested flavor."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+msgid "Resize requires a flavor change."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
+msgid "You are not authorized to access the image the instance was started with."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
+msgid "Image that the instance was started with could not be found."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
+msgid "Invalid instance image."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
+msgid "Missing imageRef attribute"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
+msgid "Invalid imageRef provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
+msgid "Missing flavorRef attribute"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
+msgid "No adminPass was specified"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
+msgid "Invalid adminPass"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
+msgid "Unable to set password on instance"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
+msgid "Unable to parse metadata key/value pairs."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
+msgid "Resize request has invalid 'flavorRef' attribute."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+msgid "Resize requests require 'flavorRef' attribute."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1231
+#: nova/api/openstack/compute/contrib/aggregates.py:143
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
+#: nova/api/openstack/compute/contrib/keypairs.py:78
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
+msgid "Invalid request body"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
+msgid "Could not parse imageRef from request."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
+msgid "Cannot find image for rebuild"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
+msgid "createImage entity requires name attribute"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
+#, python-format
+msgid "Removing options '%s' from query"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:60
+#, python-format
+msgid "Compute.api::pause %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:77
+#, python-format
+msgid "Compute.api::unpause %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:94
+#, python-format
+msgid "compute.api::suspend %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:111
+#, python-format
+msgid "compute.api::resume %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:127
+#, python-format
+msgid "Error in migrate %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:141
+#, python-format
+msgid "Compute.api::reset_network %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:154
+#: nova/api/openstack/compute/contrib/admin_actions.py:170
+#: nova/api/openstack/compute/contrib/admin_actions.py:186
+#: nova/api/openstack/compute/contrib/admin_actions.py:321
+#: nova/api/openstack/compute/contrib/multinic.py:41
+#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
+msgid "Server not found"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:157
+#, python-format
+msgid "Compute.api::inject_network_info %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:173
+#, python-format
+msgid "Compute.api::lock %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:189
+#, python-format
+msgid "Compute.api::unlock %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:219
+#, python-format
+msgid "createBackup entity requires %s attribute"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:223
+msgid "Malformed createBackup entity"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:229
+msgid "createBackup attribute 'rotation' must be an integer"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:232
+msgid "createBackup attribute 'rotation' must be greater than or equal to zero"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:248
+#: nova/api/openstack/compute/contrib/console_output.py:45
+#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
+#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
+msgid "Instance not found"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:278
+msgid "host and block_migration must be specified."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:292
+#, python-format
+msgid "Live migration of instance %s to another host failed"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:295
+#, python-format
+msgid "Live migration of instance %(id)s to host %(host)s failed"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:313
+#, python-format
+msgid "Desired state must be specified. Valid states are: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/admin_actions.py:324
+#, python-format
+msgid "Compute.api::resetState %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/aggregates.py:89
+#, python-format
+msgid "Cannot show aggregate: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/aggregates.py:115
+#, python-format
+msgid "Cannot update aggregate: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/aggregates.py:127
+#, python-format
+msgid "Cannot delete aggregate: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/aggregates.py:140
+#, python-format
+msgid "Aggregates does not have %s action"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/aggregates.py:153
+#: nova/api/openstack/compute/contrib/aggregates.py:158
+#, python-format
+msgid "Cannot add host %(host)s in aggregate %(id)s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/aggregates.py:172
+#: nova/api/openstack/compute/contrib/aggregates.py:176
+#, python-format
+msgid "Cannot remove host %(host)s in aggregate %(id)s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/aggregates.py:196
+#, python-format
+msgid "Cannot set metadata %(metadata)s in aggregate %(id)s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/attach_interfaces.py:102
+msgid "Attach interface"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/attach_interfaces.py:109
+#: nova/api/openstack/compute/contrib/attach_interfaces.py:142
+#: nova/api/openstack/compute/contrib/attach_interfaces.py:165
+msgid "Network driver does not support this function."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/attach_interfaces.py:113
+msgid "Failed to attach interface"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/attach_interfaces.py:121
+msgid "Attachments update is not supported"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/attach_interfaces.py:132
+#, python-format
+msgid "Detach interface %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/baremetal_nodes.py:192
+msgid "Must specify id or address"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
+#, python-format
+msgid "Cell %(id)s not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
+msgid "Cell name cannot be empty"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
+msgid "Cell name cannot contain '!' or '.'"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
+msgid "Cell type must be 'parent' or 'child'"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:269
+#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
+msgid "No cell information in request"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
+msgid "No cell name in request"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
+msgid "Only 'updated_since' and 'project_id' are understood."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
+msgid "Only root certificate can be retrieved."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cloudpipe.py:149
+msgid ""
+"Unable to claim IP for VPN instances, ensure it isn't running, and try "
+"again in a few minutes"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cloudpipe_update.py:41
+#, python-format
+msgid "Unknown action %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/console_output.py:50
+msgid "os-getConsoleOutput malformed or missing from request body"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/console_output.py:57
+msgid "Length in request body must be an integer value"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/console_output.py:65
+msgid "Unable to get console"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/consoles.py:51
+msgid "Instance not yet ready"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:97
+#, python-format
+msgid "Can't connect to service: %s, no portspecified\n"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:116
+msgid "Coverage begin"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
+msgid "Coverage not running"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
+msgid "Invalid path"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
+msgid "No path given for report file"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
+msgid "You can't use html reports without combining"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
+#, python-format
+msgid "Directory conflict: %s already exists"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
+msgid "Python coverage module is not installed."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
+#, python-format
+msgid "Coverage doesn't have %s action"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/disk_config.py:43
+#, python-format
+msgid "%s must be either 'MANUAL' or 'AUTO'."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
+msgid "admin password can't be changed on existing disk"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
+msgid "host and onSharedStorage must be specified."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
+#, python-format
+msgid "Error in evacuate, %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/fixed_ips.py:40
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
+#, python-format
+msgid "Fixed IP %s has been deleted"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
+#, python-format
+msgid "Fixed IP %s not found"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/flavor_access.py:76
+#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
+msgid "Flavor not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
+msgid "Access list not available for public flavors."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
+msgid "No request body"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/flavorextraspecs.py:55
+msgid "No Request Body"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ip_dns.py:223
+msgid "DNS entries not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:129
+#: nova/api/openstack/compute/contrib/floating_ips.py:177
+#, python-format
+msgid "Floating ip not found for id %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:162
+#, python-format
+msgid "No more floating ips in pool %s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:164
+msgid "No more floating ips available."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:189
+#, python-format
+msgid "Floating ip %s has been disassociated"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:216
+#: nova/api/openstack/compute/contrib/floating_ips.py:281
+#: nova/api/openstack/compute/contrib/security_groups.py:457
+msgid "Missing parameter dict"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:219
+#: nova/api/openstack/compute/contrib/floating_ips.py:284
+msgid "Address not specified"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:226
+msgid "No nw_info cache associated with instance"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:231
+msgid "No fixed ips associated to instance"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:242
+msgid "Specified fixed address not assigned to instance"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:256
+msgid "floating ip is already associated"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:259
+msgid "l3driver call to add floating ip failed"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:263
+#: nova/api/openstack/compute/contrib/floating_ips.py:292
+msgid "floating ip not found"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:266
+msgid "Error. Unable to associate floating ip"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
+msgid "Floating ip is not associated"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:311
+#, python-format
+msgid "Floating ip %(address)s is not associated with instance %(id)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
+#: nova/cmd/manage.py:385
+#, python-format
+msgid "/%s should be specified as single address(es) not in cidr format"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/fping.py:53
+msgid "fping utility is not found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:183
+#, python-format
+msgid "Invalid update setting: '%s'"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:186
+#, python-format
+msgid "Invalid status: '%s'"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:188
+#, python-format
+msgid "Invalid mode: '%s'"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:190
+msgid "'status' or 'maintenance_mode' needed for host update"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:206
+#, python-format
+msgid "Putting host %(host_name)s in maintenance mode %(mode)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:212
+msgid "Virt driver does not implement host maintenance mode."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:227
+#, python-format
+msgid "Enabling host %s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:229
+#, python-format
+msgid "Disabling host %s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:234
+msgid "Virt driver does not implement host disabled status."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:250
+msgid "Virt driver does not implement host power management."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:336
+msgid "Describe-resource is admin only functionality"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hypervisors.py:183
+#: nova/api/openstack/compute/contrib/hypervisors.py:194
+#, python-format
+msgid "Hypervisor with ID '%s' could not be found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hypervisors.py:202
+msgid "Virt driver does not implement uptime function."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hypervisors.py:218
+#: nova/api/openstack/compute/contrib/hypervisors.py:228
+#, python-format
+msgid "No hypervisor matching '%s' could be found."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/instance_usage_audit_log.py:57
+#, python-format
+msgid "Invalid timestamp for date %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/multinic.py:52
+msgid "Missing 'networkId' argument for addFixedIp"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/multinic.py:68
+msgid "Missing 'address' argument for removeFixedIp"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/multinic.py:77
+#, python-format
+msgid "Unable to find address %r"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/networks_associate.py:23
+#, python-format
+msgid "Disassociating host with network with id %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/networks_associate.py:27
+#: nova/api/openstack/compute/contrib/networks_associate.py:38
+#: nova/api/openstack/compute/contrib/networks_associate.py:50
+#: nova/api/openstack/compute/contrib/os_networks.py:79
+#: nova/api/openstack/compute/contrib/os_networks.py:89
+#: nova/api/openstack/compute/contrib/os_networks.py:99
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:110
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:132
+msgid "Network not found"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/networks_associate.py:34
+#, python-format
+msgid "Disassociating project with network with id %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:74
+#, python-format
+msgid "Disassociating network with id %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:85
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:106
+#, python-format
+msgid "Showing network with id %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:95
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:124
+#, python-format
+msgid "Deleting network with id %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:110
+msgid "Missing network in body"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:114
+msgid "Network label is required"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:118
+msgid "Network cidr or cidr_v6 is required"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:120
+#, python-format
+msgid "Creating network with label %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:136
+#, python-format
+msgid "Associating network %(network)s with project %(project)s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:144
+msgid "VLAN support must be enabled"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_networks.py:147
+#, python-format
+msgid "Cannot associate network %(network)s with project %(project)s: %(message)s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:121
+msgid "Failed to update usages deallocating network."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:151
+msgid "No CIDR requested"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:157
+msgid "Requested network does not contain enough (2+) usable hosts"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:161
+msgid "CIDR is malformed."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:164
+msgid "Address could not be converted."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:172
+msgid "Quota exceeded, too many networks."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/os_tenant_networks.py:183
+msgid "Create networks failed"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
+msgid "Quota limit must be -1 or greater."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
+#, python-format
+msgid "Quota '%(value)s' for %(key)s should be integer."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
+#, python-format
+msgid "force update quotas: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
+#, python-format
+msgid "Bad key(s) %s in quota_set"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
+#, python-format
+msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
+#, python-format
+msgid ""
+"Quota value %(value)s for %(key)s are greater than already used and "
+"reserved %(quota_used)s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/scheduler_hints.py:38
+msgid "Malformed scheduler_hints attribute"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
+#: nova/api/openstack/compute/contrib/security_groups.py:371
+msgid "Not enough parameters to build a valid rule."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_group_default_rules.py:133
+msgid "This default rule already exists."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_group_default_rules.py:154
+#, python-format
+msgid "Showing security_group_default_rule with id %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_group_default_rules.py:158
+msgid "security group default rule not found"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_groups.py:379
+#, python-format
+msgid "Bad prefix for network in cidr %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_groups.py:460
+msgid "Security group not specified"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_groups.py:464
+msgid "Security group name cannot be empty"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/server_start_stop.py:49
+msgid "start instance"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/server_start_stop.py:61
+msgid "stop instance"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/services.py:173
+msgid "Disabled reason contains invalid characters or is too long"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/services.py:180
+msgid "Invalid attribute in the request"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/services.py:182
+msgid "Missing disabled reason field"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/services.py:188
+msgid "Unknown service"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:227
+msgid "Invalid start time. The start time cannot occur after the end time."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:75
+#, python-format
+msgid "vol=%s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:187
+#, python-format
+msgid "Delete volume with id: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:359
+#: nova/api/openstack/compute/contrib/volumes.py:456
+#, python-format
+msgid "Instance %s is not attached."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:380
+#, python-format
+msgid "Bad volumeId format: volumeId is not in proper format (%s)"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:399
+#, python-format
+msgid "Attach volume %(volume_id)s to instance %(server_id)s at %(device)s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:579
+#, python-format
+msgid "Delete snapshot with id: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:619
+#, python-format
+msgid "Create snapshot from volume %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:626
+#, python-format
+msgid "Invalid value '%s' for force."
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/__init__.py:35
+#, python-format
+msgid "Loaded extension %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/__init__.py:51
+#, python-format
+msgid "Ext version: %i"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
+#, python-format
+msgid "Reserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
+#, python-format
+msgid "Unreserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/servers.py:485
+#, python-format
+msgid "server create extension %s detected"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/servers.py:490
+#, python-format
+msgid "extension %s is missing server_create"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/servers.py:508
+msgid "Did not find any server create extensions"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
+#, python-format
+msgid "Running _create_extension_point for %s"
+msgstr ""
+
+#: nova/api/openstack/compute/views/servers.py:176
+msgid "Instance has had its instance_type removed from the DB"
+msgstr ""
+
+#: nova/cells/messaging.py:205
+#, python-format
+msgid "Error processing message locally: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
+#, python-format
+msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
+msgstr ""
+
+#: nova/cells/messaging.py:381
+#, python-format
+msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
+msgstr ""
+
+#: nova/cells/messaging.py:405
+#, python-format
+msgid "Error locating next hop for message: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:432
+#, python-format
+msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:511
+#, python-format
+msgid "Error locating next hops for message: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:531
+#, python-format
+msgid "Error sending message to next hops: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:549
+#, python-format
+msgid "Error waiting for responses from neighbor cells: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:664
+#, python-format
+msgid "Unknown method '%(method)s' in compute API"
+msgstr ""
+
+#: nova/cells/messaging.py:694
+#, python-format
+msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
+msgstr ""
+
+#: nova/cells/messaging.py:704
+#, python-format
+msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
+msgstr ""
+
+#: nova/cells/messaging.py:829
+#, python-format
+msgid "Got update for instance: %(instance)s"
+msgstr ""
+
+#: nova/cells/messaging.py:873
+msgid "Got update to delete instance"
+msgstr ""
+
+#: nova/cells/messaging.py:888
+#, python-format
+msgid "Got broadcast to %(delete_type)s delete instance"
+msgstr ""
+
+#: nova/cells/messaging.py:902
+#, python-format
+msgid "Got message to create instance fault: %(instance_fault)s"
+msgstr ""
+
+#: nova/cells/messaging.py:923
+#, python-format
+msgid ""
+"Forcing a sync of instances, project_id=%(projid_str)s, "
+"updated_since=%(since_str)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
+#, python-format
+msgid "Updating parents with our capabilities: %(capabs)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1182
+#, python-format
+msgid "Updating parents with our capacities: %(capacities)s"
+msgstr ""
+
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
+#, python-format
+msgid "Weighted cells: %(weighted_cells)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:149
+#, python-format
+msgid "Scheduling with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
+#, python-format
+msgid "Couldn't communicate with cell '%s'"
+msgstr ""
+
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
+msgid "Couldn't communicate with any cells"
+msgstr ""
+
+#: nova/cells/scheduler.py:189
+#, python-format
+msgid "Building instances with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:259
+#, python-format
+msgid ""
+"No cells available when scheduling. Will retry in %(sleep_time)s "
+"second(s)"
+msgstr ""
+
+#: nova/cells/scheduler.py:265
+#, python-format
+msgid "Error scheduling instances %(instance_uuids)s"
+msgstr ""
+
+#: nova/cells/state.py:272
+msgid "Updating cell cache from db."
+msgstr ""
+
+#: nova/cells/state.py:317
+#, python-format
+msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
+msgstr ""
+
+#: nova/cells/state.py:333
+#, python-format
+msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
+msgstr ""
+
+#: nova/cells/filters/target_cell.py:57
+#, python-format
+msgid ""
+"Forcing direct route to %(cell_name)s because of 'target_cell' scheduler "
+"hint"
+msgstr ""
+
+#: nova/cells/weights/mute_child.py:65
+#, python-format
+msgid ""
+"%(cell)s has not been seen since %(last_seen)s and is being treated as "
+"mute."
+msgstr ""
+
+#: nova/cloudpipe/pipelib.py:50
+msgid "Flavor for vpn instances"
+msgstr ""
+
+#: nova/cloudpipe/pipelib.py:53
+msgid "Template for cloudpipe instance boot script"
+msgstr ""
+
+#: nova/cloudpipe/pipelib.py:56
+msgid "Network to push into openvpn config"
+msgstr ""
+
+#: nova/cloudpipe/pipelib.py:59
+msgid "Netmask to push into openvpn config"
+msgstr ""
+
+#: nova/cloudpipe/pipelib.py:128
+#, python-format
+msgid "Launching VPN for %s"
+msgstr ""
+
+#: nova/cmd/all.py:60 nova/cmd/all.py:66 nova/cmd/all.py:89
+#, python-format
+msgid "Failed to load %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
+#, python-format
+msgid "start deployment for node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:252
+#, python-format
+msgid "deployment to node %s failed"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:256
+#, python-format
+msgid "deployment to node %s done"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
+#, python-format
+msgid "Could not read %s. Re-running with sudo"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
+msgid "sudo failed, continuing as if nothing happened"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
+msgid "Please re-run nova-manage as root."
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
+msgid "Command failed, please check log for more info"
+msgstr ""
+
+#: nova/cmd/dhcpbridge.py:46
+msgid "leasing ip"
+msgstr ""
+
+#: nova/cmd/dhcpbridge.py:66
+msgid "releasing ip"
+msgstr ""
+
+#: nova/cmd/dhcpbridge.py:121
+#, python-format
+msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
+msgstr ""
+
+#: nova/cmd/dhcpbridge.py:131
+msgid "Environment variable 'NETWORK_ID' must be set."
+msgstr ""
+
+#: nova/cmd/manage.py:206
+msgid ""
+"The above error may show that the database has not been created.\n"
+"Please create a database using 'nova-manage db sync' before running this "
+"command."
+msgstr ""
+
+#: nova/cmd/manage.py:241
+#, python-format
+msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
+msgstr ""
+
+#: nova/cmd/manage.py:247
+msgid "Quota"
+msgstr ""
+
+#: nova/cmd/manage.py:248
+msgid "Limit"
+msgstr ""
+
+#: nova/cmd/manage.py:249
+msgid "In Use"
+msgstr ""
+
+#: nova/cmd/manage.py:250
+msgid "Reserved"
+msgstr ""
+
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
+#, python-format
+msgid "error: %s"
+msgstr ""
+
+#: nova/cmd/manage.py:298
+msgid "network"
+msgstr ""
+
+#: nova/cmd/manage.py:299
+msgid "IP address"
+msgstr ""
+
+#: nova/cmd/manage.py:300
+msgid "hostname"
+msgstr ""
+
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
+msgid "host"
+msgstr ""
+
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+msgid "No fixed IP found."
+msgstr ""
+
+#: nova/cmd/manage.py:329
+#, python-format
+msgid "WARNING: fixed ip %s allocated to missing instance"
+msgstr ""
+
+#: nova/cmd/manage.py:392
+#, python-format
+msgid ""
+"Too many IP addresses will be generated. Please increase /%s to reduce "
+"the number generated."
+msgstr ""
+
+#: nova/cmd/manage.py:443
+msgid "No floating IP addresses have been defined."
+msgstr ""
+
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
+msgid "id"
+msgstr ""
+
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
+msgid "IPv4"
+msgstr ""
+
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
+msgid "IPv6"
+msgstr ""
+
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
+msgid "start address"
+msgstr ""
+
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
+msgid "DNS1"
+msgstr ""
+
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
+msgid "DNS2"
+msgstr ""
+
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
+msgid "VlanID"
+msgstr ""
+
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
+#: nova/tests/test_nova_manage.py:219
+msgid "project"
+msgstr ""
+
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
+msgid "uuid"
+msgstr ""
+
+#: nova/cmd/manage.py:520
+msgid "No networks found"
+msgstr ""
+
+#: nova/cmd/manage.py:539
+msgid "Please specify either fixed_range or uuid"
+msgstr ""
+
+#: nova/cmd/manage.py:544
+msgid "UUID is required to delete Quantum Networks"
+msgstr ""
+
+#: nova/cmd/manage.py:547
+msgid "Deleting by fixed_range is not supported with the QuantumManager"
+msgstr ""
+
+#: nova/cmd/manage.py:610
+msgid "instance"
+msgstr ""
+
+#: nova/cmd/manage.py:611
+msgid "node"
+msgstr ""
+
+#: nova/cmd/manage.py:612
+msgid "type"
+msgstr ""
+
+#: nova/cmd/manage.py:613
+msgid "state"
+msgstr ""
+
+#: nova/cmd/manage.py:614
+msgid "launched"
+msgstr ""
+
+#: nova/cmd/manage.py:615
+msgid "image"
+msgstr ""
+
+#: nova/cmd/manage.py:616
+msgid "kernel"
+msgstr ""
+
+#: nova/cmd/manage.py:617
+msgid "ramdisk"
+msgstr ""
+
+#: nova/cmd/manage.py:619
+msgid "user"
+msgstr ""
+
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
+msgid "zone"
+msgstr ""
+
+#: nova/cmd/manage.py:621
+msgid "index"
+msgstr ""
+
+#: nova/cmd/manage.py:665
+msgid "Binary"
+msgstr ""
+
+#: nova/cmd/manage.py:666
+msgid "Host"
+msgstr ""
+
+#: nova/cmd/manage.py:667
+msgid "Zone"
+msgstr ""
+
+#: nova/cmd/manage.py:668
+msgid "Status"
+msgstr ""
+
+#: nova/cmd/manage.py:669
+msgid "State"
+msgstr ""
+
+#: nova/cmd/manage.py:670
+msgid "Updated_At"
+msgstr ""
+
+#: nova/cmd/manage.py:692
+#, python-format
+msgid "Service %(service)s on host %(host)s enabled."
+msgstr ""
+
+#: nova/cmd/manage.py:705
+#, python-format
+msgid "Service %(service)s on host %(host)s disabled."
+msgstr ""
+
+#: nova/cmd/manage.py:772
+msgid "An unexpected error has occurred."
+msgstr ""
+
+#: nova/cmd/manage.py:773
+msgid "[Result]"
+msgstr ""
+
+#: nova/cmd/manage.py:777
+msgid "HOST"
+msgstr ""
+
+#: nova/cmd/manage.py:778
+msgid "PROJECT"
+msgstr ""
+
+#: nova/cmd/manage.py:779
+msgid "cpu"
+msgstr ""
+
+#: nova/cmd/manage.py:780
+msgid "mem(mb)"
+msgstr ""
+
+#: nova/cmd/manage.py:781
+msgid "hdd"
+msgstr ""
+
+#: nova/cmd/manage.py:864
+msgid "Must supply a positive value for max_rows"
+msgstr ""
+
+#: nova/cmd/manage.py:903
+msgid "Must supply valid parameters to create instance_type"
+msgstr ""
+
+#: nova/cmd/manage.py:907
+msgid "Instance Type exists."
+msgstr ""
+
+#: nova/cmd/manage.py:908
+msgid "Please ensure instance_type name and flavorid are unique."
+msgstr ""
+
+#: nova/cmd/manage.py:910
+msgid "Currently defined instance_type names and flavorids:"
+msgstr ""
+
+#: nova/cmd/manage.py:915
+msgid "Unknown error"
+msgstr ""
+
+#: nova/cmd/manage.py:918
+#, python-format
+msgid "%s created"
+msgstr ""
+
+#: nova/cmd/manage.py:926
+msgid "Valid instance type name is required"
+msgstr ""
+
+#: nova/cmd/manage.py:929
+#, python-format
+msgid "DB Error: %s"
+msgstr ""
+
+#: nova/cmd/manage.py:934
+#, python-format
+msgid "%s deleted"
+msgstr ""
+
+#: nova/cmd/manage.py:970
+#, python-format
+msgid "Key %(key)s set to %(value)s on instance type %(name)s"
+msgstr ""
+
+#: nova/cmd/manage.py:992
+#, python-format
+msgid "Key %(key)s on instance type %(name)s unset"
+msgstr ""
+
+#: nova/cmd/manage.py:1037
+#, python-format
+msgid "Hypervisor: %s"
+msgstr ""
+
+#: nova/cmd/manage.py:1078
+#, python-format
+msgid "Line %(linenum)d : %(line)s"
+msgstr ""
+
+#: nova/cmd/manage.py:1080
+msgid "No errors in logfiles!"
+msgstr ""
+
+#: nova/cmd/manage.py:1092
+msgid "Unable to find system log file!"
+msgstr ""
+
+#: nova/cmd/manage.py:1096
+#, python-format
+msgid "Last %s nova syslog entries:-"
+msgstr ""
+
+#: nova/cmd/manage.py:1105
+msgid "No nova entries in syslog!"
+msgstr ""
+
+#: nova/compute/__init__.py:61
+msgid ""
+"The compute_api_class is now deprecated and will be removed in next "
+"release. Please set the cell_type option to api or compute"
+msgstr ""
+
+#: nova/compute/__init__.py:74
+msgid "cell_type must be configured as 'api' or 'compute'"
+msgstr ""
+
+#: nova/compute/api.py:302
+msgid "Cannot run any more instances of this type."
+msgstr ""
+
+#: nova/compute/api.py:309
+#, python-format
+msgid "Can only run %s more instances of this type."
+msgstr ""
+
+#: nova/compute/api.py:318
+#, python-format
+msgid ""
+"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
+"instances. %(msg)s"
+msgstr ""
+
+#: nova/compute/api.py:338
+#, python-format
+msgid ""
+"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
+"properties"
+msgstr ""
+
+#: nova/compute/api.py:348
+msgid "Metadata property key blank"
+msgstr ""
+
+#: nova/compute/api.py:352
+msgid "Metadata property key greater than 255 characters"
+msgstr ""
+
+#: nova/compute/api.py:356
+msgid "Metadata property value greater than 255 characters"
+msgstr ""
+
+#: nova/compute/api.py:489
+msgid "Failed to set instance name using multi_instance_display_name_template."
+msgstr ""
+
+#: nova/compute/api.py:571
+msgid "Cannot attach one or more volumes to multiple instances"
+msgstr ""
+
+#: nova/compute/api.py:667
+#, python-format
+msgid "Going to run %s instances..."
+msgstr ""
+
+#: nova/compute/api.py:812
+#, python-format
+msgid "bdm %s"
+msgstr ""
+
+#: nova/compute/api.py:839
+#, python-format
+msgid "block_device_mapping %s"
+msgstr ""
+
+#: nova/compute/api.py:1122
+msgid "instance termination disabled"
+msgstr ""
+
+#: nova/compute/api.py:1258
+#, python-format
+msgid "instance type %(old_inst_type_id)d not found"
+msgstr ""
+
+#: nova/compute/api.py:1264
+msgid "going to delete a resizing instance"
+msgstr ""
+
+#: nova/compute/api.py:1274
+#, python-format
+msgid "instance's host %s is down, deleting from database"
+msgstr ""
+
+#: nova/compute/api.py:1318
+msgid "Going to try to soft delete instance"
+msgstr ""
+
+#: nova/compute/api.py:1343
+msgid "Going to try to terminate instance"
+msgstr ""
+
+#: nova/compute/api.py:1394
+msgid "Going to try to stop instance"
+msgstr ""
+
+#: nova/compute/api.py:1410
+msgid "Going to try to start instance"
+msgstr ""
+
+#: nova/compute/api.py:1482
+#, python-format
+msgid "Searching by: %s"
+msgstr ""
+
+#: nova/compute/api.py:1719
+#, python-format
+msgid "snapshot for %s"
+msgstr ""
+
+#: nova/compute/api.py:2057
+msgid "flavor_id is None. Assuming migration."
+msgstr ""
+
+#: nova/compute/api.py:2066
+#, python-format
+msgid ""
+"Old instance type %(current_instance_type_name)s, new instance type "
+"%(new_instance_type_name)s"
+msgstr ""
+
+#: nova/compute/api.py:2114
+#, python-format
+msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
+msgstr ""
+
+#: nova/compute/api.py:2253
+msgid "Cannot rescue a volume-backed instance"
+msgstr ""
+
+#: nova/compute/api.py:2358
+msgid "Locking"
+msgstr ""
+
+#: nova/compute/api.py:2366
+msgid "Unlocking"
+msgstr ""
+
+#: nova/compute/api.py:2438
+msgid "Volume must be attached in order to detach."
+msgstr ""
+
+#: nova/compute/api.py:2552
+#, python-format
+msgid "Going to try to live migrate instance to %s"
+msgstr ""
+
+#: nova/compute/api.py:2574
+msgid "vm evacuation scheduled"
+msgstr ""
+
+#: nova/compute/api.py:2578
+#, python-format
+msgid ""
+"Instance compute service state on %(inst_host)s expected to be down, but "
+"it was up."
+msgstr ""
+
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
+msgid "Keypair name contains unsafe characters"
+msgstr ""
+
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
+#: nova/tests/compute/test_keypairs.py:104
+msgid "Keypair name must be between 1 and 255 characters long"
+msgstr ""
+
+#: nova/compute/api.py:2912
+#, python-format
+msgid "Security group %s is not a string or unicode"
+msgstr ""
+
+#: nova/compute/api.py:2915
+#, python-format
+msgid "Security group %s cannot be empty."
+msgstr ""
+
+#: nova/compute/api.py:2923
+#, python-format
+msgid ""
+"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
+"limited to '%(allowed)'."
+msgstr ""
+
+#: nova/compute/api.py:2929
+#, python-format
+msgid "Security group %s should not be greater than 255 characters."
+msgstr ""
+
+#: nova/compute/api.py:2947
+msgid "Quota exceeded, too many security groups."
+msgstr ""
+
+#: nova/compute/api.py:2950
+#, python-format
+msgid "Create Security Group %s"
+msgstr ""
+
+#: nova/compute/api.py:2957
+#, python-format
+msgid "Security group %s already exists"
+msgstr ""
+
+#: nova/compute/api.py:2976
+#, python-format
+msgid "Unable to update system group '%s'"
+msgstr ""
+
+#: nova/compute/api.py:3036
+#, python-format
+msgid "Unable to delete system group '%s'"
+msgstr ""
+
+#: nova/compute/api.py:3041
+msgid "Security group is still in use"
+msgstr ""
+
+#: nova/compute/api.py:3049
+msgid "Failed to update usages deallocating security group"
+msgstr ""
+
+#: nova/compute/api.py:3052
+#, python-format
+msgid "Delete security group %s"
+msgstr ""
+
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
+#, python-format
+msgid "Rule (%s) not found"
+msgstr ""
+
+#: nova/compute/api.py:3145
+msgid "Quota exceeded, too many security group rules."
+msgstr ""
+
+#: nova/compute/api.py:3148
+#, python-format
+msgid "Authorize security group ingress %s"
+msgstr ""
+
+#: nova/compute/api.py:3157
+#, python-format
+msgid "Revoke security group ingress %s"
+msgstr ""
+
+#: nova/compute/api.py:3210
+msgid "Security group id should be integer"
+msgstr ""
+
+#: nova/compute/claims.py:91 nova/compute/claims.py:219
+#, python-format
+msgid "Aborting claim: %s"
+msgstr ""
+
+#: nova/compute/claims.py:113
+#, python-format
+msgid ""
+"Attempting claim: memory %(memory_mb)d MB, disk %(disk_gb)d GB, VCPUs "
+"%(vcpus)d"
+msgstr ""
+
+#: nova/compute/claims.py:125
+msgid "Claim successful"
+msgstr ""
+
+#: nova/compute/claims.py:127
+msgid "Claim failed"
+msgstr ""
+
+#: nova/compute/claims.py:132
+msgid "Memory"
+msgstr ""
+
+#: nova/compute/claims.py:141
+msgid "Disk"
+msgstr ""
+
+#: nova/compute/claims.py:150
+msgid "CPU"
+msgstr ""
+
+#: nova/compute/claims.py:162
+#, python-format
+msgid "Total %(type)s: %(total)d %(unit)s, used: %(used).02f %(unit)s"
+msgstr ""
+
+#: nova/compute/claims.py:169
+#, python-format
+msgid "%(type)s limit not specified, defaulting to unlimited"
+msgstr ""
+
+#: nova/compute/claims.py:176
+#, python-format
+msgid "%(type)s limit: %(limit).02f %(unit)s, free: %(free).02f %(unit)s"
+msgstr ""
+
+#: nova/compute/claims.py:184
+#, python-format
+msgid ""
+"Unable to claim resources. Free %(type)s %(free).02f %(unit)s < "
+"requested %(requested)d %(unit)s"
+msgstr ""
+
+#: nova/compute/flavors.py:92
+msgid "names can only contain [a-zA-Z0-9_.- ]"
+msgstr ""
+
+#: nova/compute/flavors.py:101
+#, python-format
+msgid "'%s' argument must be a positive integer"
+msgstr ""
+
+#: nova/compute/flavors.py:110
+#, python-format
+msgid "'%s' argument must be an integer greater than or equal to 0"
+msgstr ""
+
+#: nova/compute/flavors.py:119
+msgid "'rxtx_factor' argument must be a positive float"
+msgstr ""
+
+#: nova/compute/flavors.py:132
+msgid "is_public must be a boolean"
+msgstr ""
+
+#: nova/compute/flavors.py:137
+#, python-format
+msgid "DB error: %s"
+msgstr ""
+
+#: nova/compute/flavors.py:147
+#, python-format
+msgid "Instance type %s not found for deletion"
+msgstr ""
+
+#: nova/compute/manager.py:210
+msgid "Possibly task preempted."
+msgstr ""
+
+#: nova/compute/manager.py:383
+#, python-format
+msgid "%s is not a valid node managed by this compute host."
+msgstr ""
+
+#: nova/compute/manager.py:411
+msgid "Instance has been destroyed from under us while trying to set it to ERROR"
+msgstr ""
+
+#: nova/compute/manager.py:461
+#, python-format
+msgid ""
+"Deleting instance as its host (%(instance_host)s) is not equal to our "
+"host (%(our_host)s)."
+msgstr ""
+
+#: nova/compute/manager.py:477
+msgid "Instance has been marked deleted already, removing it from the hypervisor."
+msgstr ""
+
+#: nova/compute/manager.py:498
+msgid ""
+"Hypervisor driver does not support instance shared storage check, "
+"assuming it's not on shared storage"
+msgstr ""
+
+#: nova/compute/manager.py:504
+msgid "Failed to check if instance shared"
+msgstr ""
+
+#: nova/compute/manager.py:546
+#, python-format
+msgid ""
+"Error raised getting network info for instance %(instance_uuid)s. "
+"Retrying in %(retry_time)s seconds."
+msgstr ""
+
+#: nova/compute/manager.py:572
+msgid "Failed to revert crashed migration"
+msgstr ""
+
+#: nova/compute/manager.py:575
+msgid "Instance found in migrating state during startup. Resetting task_state"
+msgstr ""
+
+#: nova/compute/manager.py:586
+#, python-format
+msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
+msgstr ""
+
+#: nova/compute/manager.py:592
+msgid "Rebooting instance after nova-compute restart."
+msgstr ""
+
+#: nova/compute/manager.py:606
+msgid "Hypervisor driver does not support resume guests"
+msgstr ""
+
+#: nova/compute/manager.py:611
+msgid "Failed to resume instance"
+msgstr ""
+
+#: nova/compute/manager.py:621
+msgid "Hypervisor driver does not support firewall rules"
+msgstr ""
+
+#: nova/compute/manager.py:625
+#, python-format
+msgid "Lifecycle event %(state)d on VM %(uuid)s"
+msgstr ""
+
+#: nova/compute/manager.py:641
+#, python-format
+msgid "Unexpected power state %d"
+msgstr ""
+
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
+#, python-format
+msgid "Ignoring event %s"
+msgstr ""
+
+#: nova/compute/manager.py:695
+msgid "Checking state"
+msgstr ""
+
+#: nova/compute/manager.py:793
+#, python-format
+msgid "Volume id: %s finished being created but was not set as 'available'"
+msgstr ""
+
+#: nova/compute/manager.py:810
+#, python-format
+msgid "Setting up bdm %s"
+msgstr ""
+
+#: nova/compute/manager.py:911
+msgid "Success"
+msgstr ""
+
+#: nova/compute/manager.py:934
+msgid "Instance disappeared before we could start it"
+msgstr ""
+
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
+#, python-format
+msgid "No node specified, defaulting to %s"
+msgstr ""
+
+#: nova/compute/manager.py:1005
+msgid "Failed to dealloc network for deleted instance"
+msgstr ""
+
+#: nova/compute/manager.py:1014
+msgid "Instance was deleted during spawn."
+msgstr ""
+
+#: nova/compute/manager.py:1045
+#, python-format
+msgid "Error: %s"
+msgstr ""
+
+#: nova/compute/manager.py:1062
+msgid "Clean up resource before rescheduling."
+msgstr ""
+
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
+msgid "Error trying to reschedule"
+msgstr ""
+
+#: nova/compute/manager.py:1100
+msgid "Retry info not present, will not reschedule"
+msgstr ""
+
+#: nova/compute/manager.py:1105
+msgid "No request spec, will not reschedule"
+msgstr ""
+
+#: nova/compute/manager.py:1111
+#, python-format
+msgid "Re-scheduling %(method)s: attempt %(num)d"
+msgstr ""
+
+#: nova/compute/manager.py:1140
+msgid "Instance build timed out. Set to error state."
+msgstr ""
+
+#: nova/compute/manager.py:1150
+msgid "Starting instance..."
+msgstr ""
+
+#: nova/compute/manager.py:1164
+msgid "Allocating IP information in the background."
+msgstr ""
+
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
+msgstr ""
+
+#: nova/compute/manager.py:1181
+#, python-format
+msgid "Instance network_info: |%s|"
+msgstr ""
+
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
+msgid "Instance failed block device setup"
+msgstr ""
+
+#: nova/compute/manager.py:1245
+msgid "Instance failed to spawn"
+msgstr ""
+
+#: nova/compute/manager.py:1296
+msgid "Deallocating network for instance"
+msgstr ""
+
+#: nova/compute/manager.py:1370
+msgid "Failed to deallocate network for instance."
+msgstr ""
+
+#: nova/compute/manager.py:1377
+#, python-format
+msgid "%(action_str)s instance"
+msgstr ""
+
+#: nova/compute/manager.py:1420
+#, python-format
+msgid "Ignoring DiskNotFound: %s"
+msgstr ""
+
+#: nova/compute/manager.py:1423
+#, python-format
+msgid "Ignoring VolumeNotFound: %s"
+msgstr ""
+
+#: nova/compute/manager.py:1430
+#, python-format
+msgid "terminating bdm %s"
+msgstr ""
+
+#: nova/compute/manager.py:1478
+#, python-format
+msgid "Ignoring volume cleanup failure due to %s"
+msgstr ""
+
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
+#, python-format
+msgid "%s. Setting instance vm_state to ERROR"
+msgstr ""
+
+#: nova/compute/manager.py:1704
+msgid "Rebuilding instance"
+msgstr ""
+
+#: nova/compute/manager.py:1717
+msgid "Invalid state of instance files on shared storage"
+msgstr ""
+
+#: nova/compute/manager.py:1721
+msgid "disk on shared storage, recreating using existing disk"
+msgstr ""
+
+#: nova/compute/manager.py:1725
+#, python-format
+msgid "disk not on shared storagerebuilding from: '%s'"
+msgstr ""
+
+#: nova/compute/manager.py:1808
+#, python-format
+msgid "bringing vm to original state: '%s'"
+msgstr ""
+
+#: nova/compute/manager.py:1840
+#, python-format
+msgid "Detaching from volume api: %s"
+msgstr ""
+
+#: nova/compute/manager.py:1858
+msgid "Rebooting instance"
+msgstr ""
+
+#: nova/compute/manager.py:1877
+#, python-format
+msgid ""
+"trying to reboot a non-running instance: (state: %(state)s expected: "
+"%(running)s)"
+msgstr ""
+
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
+#, python-format
+msgid "Cannot reboot instance: %(error)s"
+msgstr ""
+
+#: nova/compute/manager.py:1929
+msgid "Instance disappeared during reboot"
+msgstr ""
+
+#: nova/compute/manager.py:1956
+msgid "instance snapshotting"
+msgstr ""
+
+#: nova/compute/manager.py:1962
+#, python-format
+msgid ""
+"trying to snapshot a non-running instance: (state: %(state)s expected: "
+"%(running)s)"
+msgstr ""
+
+#: nova/compute/manager.py:2023
+#, python-format
+msgid "Found %(num_images)d images (rotation: %(rotation)d)"
+msgstr ""
+
+#: nova/compute/manager.py:2031
+#, python-format
+msgid "Rotating out %d backups"
+msgstr ""
+
+#: nova/compute/manager.py:2036
+#, python-format
+msgid "Deleting image %s"
+msgstr ""
+
+#: nova/compute/manager.py:2064
+#, python-format
+msgid "Failed to set admin password. Instance %s is not running"
+msgstr ""
+
+#: nova/compute/manager.py:2071
+msgid "Root password set"
+msgstr ""
+
+#: nova/compute/manager.py:2078
+msgid "set_admin_password is not implemented by this driver or guest instance."
+msgstr ""
+
+#: nova/compute/manager.py:2093
+#, python-format
+msgid "set_admin_password failed: %s"
+msgstr ""
+
+#: nova/compute/manager.py:2100
+msgid "error setting admin password"
+msgstr ""
+
+#: nova/compute/manager.py:2113
+#, python-format
+msgid ""
+"trying to inject a file into a non-running (state: %(current_state)s "
+"expected: %(expected_state)s)"
+msgstr ""
+
+#: nova/compute/manager.py:2118
+#, python-format
+msgid "injecting file to %s"
+msgstr ""
+
+#: nova/compute/manager.py:2138
+msgid ""
+"Unable to find a different image to use for rescue VM, using instance's "
+"current image"
+msgstr ""
+
+#: nova/compute/manager.py:2151
+msgid "Rescuing"
+msgstr ""
+
+#: nova/compute/manager.py:2170
+msgid "Error trying to Rescue Instance"
+msgstr ""
+
+#: nova/compute/manager.py:2174
+#, python-format
+msgid "Driver Error: %s"
+msgstr ""
+
+#: nova/compute/manager.py:2192
+msgid "Unrescuing"
+msgstr ""
+
+#: nova/compute/manager.py:2213
+#, python-format
+msgid "Changing instance metadata according to %r"
+msgstr ""
+
+#: nova/compute/manager.py:2435
+#, python-format
+msgid "Updating instance to original state: '%s'"
+msgstr ""
+
+#: nova/compute/manager.py:2469
+msgid "Instance has no source host"
+msgstr ""
+
+#: nova/compute/manager.py:2475
+msgid "destination same as source!"
+msgstr ""
+
+#: nova/compute/manager.py:2496
+msgid "Migrating"
+msgstr ""
+
+#: nova/compute/manager.py:2747
+#, python-format
+msgid "Failed to rollback quota for failed finish_resize: %s"
+msgstr ""
+
+#: nova/compute/manager.py:2810
+msgid "Pausing"
+msgstr ""
+
+#: nova/compute/manager.py:2828
+msgid "Unpausing"
+msgstr ""
+
+#: nova/compute/manager.py:2867
+msgid "Retrieving diagnostics"
+msgstr ""
+
+#: nova/compute/manager.py:2898
+msgid "Resuming"
+msgstr ""
+
+#: nova/compute/manager.py:2918
+msgid "Reset network"
+msgstr ""
+
+#: nova/compute/manager.py:2923
+msgid "Inject network info"
+msgstr ""
+
+#: nova/compute/manager.py:2926
+#, python-format
+msgid "network_info to inject: |%s|"
+msgstr ""
+
+#: nova/compute/manager.py:2943
+msgid "Get console output"
+msgstr ""
+
+#: nova/compute/manager.py:2970
+msgid "Getting vnc console"
+msgstr ""
+
+#: nova/compute/manager.py:3005
+msgid "Getting spice console"
+msgstr ""
+
+#: nova/compute/manager.py:3053
+#, python-format
+msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
+msgstr ""
+
+#: nova/compute/manager.py:3104
+#, python-format
+msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
+msgstr ""
+
+#: nova/compute/manager.py:3114
+#, python-format
+msgid ""
+"Failed to connect to volume %(volume_id)s while attaching at "
+"%(mountpoint)s"
+msgstr ""
+
+#: nova/compute/manager.py:3130
+#, python-format
+msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
+msgstr ""
+
+#: nova/compute/manager.py:3161
+#, python-format
+msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
+msgstr ""
+
+#: nova/compute/manager.py:3172
+msgid "Detaching volume from unknown instance"
+msgstr ""
+
+#: nova/compute/manager.py:3179
+#, python-format
+msgid "Failed to detach volume %(volume_id)s from %(mp)s"
+msgstr ""
+
+#: nova/compute/manager.py:3203
+msgid "Updating volume usage cache with totals"
+msgstr ""
+
+#: nova/compute/manager.py:3239
+#, python-format
+msgid "allocate_port_for_instance returned %(ports)s ports"
+msgstr ""
+
+#: nova/compute/manager.py:3259
+#, python-format
+msgid "Port %s is not attached"
+msgstr ""
+
+#: nova/compute/manager.py:3273
+#, python-format
+msgid "Host %s not found"
+msgstr ""
+
+#: nova/compute/manager.py:3426
+#, python-format
+msgid "Pre live migration failed at %s"
+msgstr ""
+
+#: nova/compute/manager.py:3454
+msgid "_post_live_migration() is started.."
+msgstr ""
+
+#: nova/compute/manager.py:3509
+#, python-format
+msgid "Migrating instance to %s finished successfully."
+msgstr ""
+
+#: nova/compute/manager.py:3511
+msgid ""
+"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
+"with matching name.\" This error can be safely ignored."
+msgstr ""
+
+#: nova/compute/manager.py:3526
+msgid "Post operation of migration started"
+msgstr ""
+
+#: nova/compute/manager.py:3558
+#, python-format
+msgid "Failed to get compute_info for %s"
+msgstr ""
+
+#: nova/compute/manager.py:3687
+msgid "Updated the info_cache for instance"
+msgstr ""
+
+#: nova/compute/manager.py:3739
+#, python-format
+msgid ""
+"Found %(migration_count)d unconfirmed migrations older than "
+"%(confirm_window)d seconds"
+msgstr ""
+
+#: nova/compute/manager.py:3744
+#, python-format
+msgid "Setting migration %(migration_id)s to error: %(reason)s"
+msgstr ""
+
+#: nova/compute/manager.py:3753
+#, python-format
+msgid ""
+"Automatically confirming migration %(migration_id)s for instance "
+"%(instance_uuid)s"
+msgstr ""
+
+#: nova/compute/manager.py:3761
+#, python-format
+msgid "Instance %s not found"
+msgstr ""
+
+#: nova/compute/manager.py:3766
+msgid "In ERROR state"
+msgstr ""
+
+#: nova/compute/manager.py:3773
+#, python-format
+msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
+msgstr ""
+
+#: nova/compute/manager.py:3784
+#, python-format
+msgid "Error auto-confirming resize: %s. Will retry later."
+msgstr ""
+
+#: nova/compute/manager.py:3800
+#, python-format
+msgid ""
+"Running instance usage audit for host %(host)s from %(begin_time)s to "
+"%(end_time)s. %(number_instances)s instances."
+msgstr ""
+
+#: nova/compute/manager.py:3820
+#, python-format
+msgid "Failed to generate usage audit for instance on host %s"
+msgstr ""
+
+#: nova/compute/manager.py:3844
+msgid "Updating bandwidth usage cache"
+msgstr ""
+
+#: nova/compute/manager.py:3947
+msgid "Updating volume usage cache"
+msgstr ""
+
+#: nova/compute/manager.py:3961
+msgid "Updating host status"
+msgstr ""
+
+#: nova/compute/manager.py:3988
+#, python-format
+msgid ""
+"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
+"the hypervisor."
+msgstr ""
+
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
+msgid "During sync_power_state the instance has a pending task. Skip."
+msgstr ""
+
+#: nova/compute/manager.py:4031
+#, python-format
+msgid ""
+"During the sync_power process the instance has moved from host %(src)s to"
+" host %(dst)s"
+msgstr ""
+
+#: nova/compute/manager.py:4068
+msgid "Instance shutdown by itself. Calling the stop API."
+msgstr ""
+
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
+msgid "error during stop() in sync_power_state."
+msgstr ""
+
+#: nova/compute/manager.py:4084
+msgid "Instance is suspended unexpectedly. Calling the stop API."
+msgstr ""
+
+#: nova/compute/manager.py:4100
+msgid "Instance is paused unexpectedly. Ignore."
+msgstr ""
+
+#: nova/compute/manager.py:4106
+msgid "Instance is unexpectedly not found. Ignore."
+msgstr ""
+
+#: nova/compute/manager.py:4112
+msgid "Instance is not stopped. Calling the stop API."
+msgstr ""
+
+#: nova/compute/manager.py:4128
+msgid "Instance is not (soft-)deleted."
+msgstr ""
+
+#: nova/compute/manager.py:4136
+msgid "CONF.reclaim_instance_interval <= 0, skipping..."
+msgstr ""
+
+#: nova/compute/manager.py:4149
+msgid "Reclaiming deleted instance"
+msgstr ""
+
+#: nova/compute/manager.py:4176
+#, python-format
+msgid "Deleting orphan compute node %s"
+msgstr ""
+
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
+#, python-format
+msgid "No service record for host %s"
+msgstr ""
+
+#: nova/compute/manager.py:4226
+#, python-format
+msgid ""
+"Detected instance with name label '%s' which is marked as DELETED but "
+"still present on host."
+msgstr ""
+
+#: nova/compute/manager.py:4232
+#, python-format
+msgid ""
+"Destroying instance with name label '%s' which is marked as DELETED but "
+"still present on host."
+msgstr ""
+
+#: nova/compute/manager.py:4239
+#, python-format
+msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
+msgstr ""
+
+#: nova/compute/manager.py:4266
+#, python-format
+msgid "Setting instance back to ACTIVE after: %s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:92
+msgid ""
+"Host field should not be set on the instance until resources have been "
+"claimed."
+msgstr ""
+
+#: nova/compute/resource_tracker.py:97
+msgid ""
+"Node field should be not be set on the instance until resources have been"
+" claimed."
+msgstr ""
+
+#: nova/compute/resource_tracker.py:244
+msgid "Auditing locally available compute resources"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:249
+msgid ""
+"Virt driver does not support 'get_available_resource' Compute tracking "
+"is disabled."
+msgstr ""
+
+#: nova/compute/resource_tracker.py:301
+#, python-format
+msgid "Compute_service record created for %(host)s:%(node)s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:307
+#, python-format
+msgid "Compute_service record updated for %(host)s:%(node)s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:331
+#, python-format
+msgid "Hypervisor: free ram (MB): %s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:332
+#, python-format
+msgid "Hypervisor: free disk (GB): %s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:337
+#, python-format
+msgid "Hypervisor: free VCPUs: %s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:339
+msgid "Hypervisor: VCPU information unavailable"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:346
+#, python-format
+msgid "Free ram (MB): %s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:347
+#, python-format
+msgid "Free disk (GB): %s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:352
+#, python-format
+msgid "Free VCPUS: %s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:354
+msgid "Free VCPU information unavailable"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:383
+#, python-format
+msgid "Updating from migration %s"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:443
+msgid "Instance not resizing, skipping migration."
+msgstr ""
+
+#: nova/compute/resource_tracker.py:458
+msgid "InstanceType could not be found, skipping migration."
+msgstr ""
+
+#: nova/compute/resource_tracker.py:542
+#, python-format
+msgid ""
+"Detected running orphan instance: %(uuid)s (consuming %(memory_mb)s MB "
+"memory"
+msgstr ""
+
+#: nova/compute/resource_tracker.py:555
+#, python-format
+msgid "Missing keys: %s"
+msgstr ""
+
+#: nova/compute/rpcapi.py:58
+msgid "No compute host specified"
+msgstr ""
+
+#: nova/compute/rpcapi.py:61
+#, python-format
+msgid "Unable to find host for Instance %s"
+msgstr ""
+
+#: nova/compute/utils.py:141
+#, python-format
+msgid "Using %(prefix)s instead of %(req_prefix)s"
+msgstr ""
+
+#: nova/conductor/api.py:399
+msgid ""
+"Timed out waiting for nova-conductor. Is it running? Or did this service "
+"start before nova-conductor?"
+msgstr ""
+
+#: nova/conductor/manager.py:116
+#, python-format
+msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
+msgstr ""
+
+#: nova/conductor/manager.py:322
+msgid "Invalid block_device_mapping_destroy invocation"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
+#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
+msgid "Adding console"
+msgstr ""
+
+#: nova/console/manager.py:101 nova/console/vmrc_manager.py:113
+#, python-format
+msgid "Tried to remove non-existent console %(console_id)s."
+msgstr ""
+
+#: nova/console/vmrc_manager.py:116
+#, python-format
+msgid "Removing console %(console_id)s."
+msgstr ""
+
+#: nova/console/websocketproxy.py:54
+msgid "Invalid Token"
+msgstr ""
+
+#: nova/console/websocketproxy.py:73
+msgid "Invalid Connection Info"
+msgstr ""
+
+#: nova/console/xvp.py:100
+msgid "Rebuilding xvp conf"
+msgstr ""
+
+#: nova/console/xvp.py:119
+#, python-format
+msgid "Re-wrote %s"
+msgstr ""
+
+#: nova/console/xvp.py:124
+msgid "Failed to write configuration file"
+msgstr ""
+
+#: nova/console/xvp.py:127
+msgid "Stopping xvp"
+msgstr ""
+
+#: nova/console/xvp.py:140
+msgid "Starting xvp"
+msgstr ""
+
+#: nova/console/xvp.py:147
+#, python-format
+msgid "Error starting xvp: %s"
+msgstr ""
+
+#: nova/console/xvp.py:150
+msgid "Restarting xvp"
+msgstr ""
+
+#: nova/console/xvp.py:152
+msgid "xvp not running..."
+msgstr ""
+
+#: nova/console/xvp.py:203
+msgid "Failed to run xvp."
+msgstr ""
+
+#: nova/consoleauth/manager.py:89
+#, python-format
+msgid "Received Token: %(token)s, %(token_dict)s)"
+msgstr ""
+
+#: nova/consoleauth/manager.py:113
+#, python-format
+msgid "Checking Token: %(token)s, %(token_valid)s)"
+msgstr ""
+
+#: nova/db/api.py:592
+msgid "Failed to notify cells of instance destroy"
+msgstr ""
+
+#: nova/db/api.py:674 nova/db/api.py:695
+msgid "Failed to notify cells of instance update"
+msgstr ""
+
+#: nova/db/api.py:1551
+msgid "Failed to notify cells of bw_usage update"
+msgstr ""
+
+#: nova/db/api.py:1690
+msgid "Failed to notify cells of instance fault"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:160
+#, python-format
+msgid "Deadlock detected when running '%(func_name)s': Retrying..."
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:195
+msgid "model or base_model parameter should be subclass of NovaBase"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:208 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#, python-format
+msgid "Unrecognized read_deleted value '%s'"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:649
+#, python-format
+msgid "Invalid floating ip id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:870
+#, python-format
+msgid "Invalid floating IP %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
+#, python-format
+msgid "Invalid fixed IP Address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1332
+#, python-format
+msgid "Invalid virtual interface address %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1425
+#, python-format
+msgid ""
+"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
+"empty, \"global\" or \"project\""
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1560
+#, python-format
+msgid "Invalid instance id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:2915
+#, python-format
+msgid "Change will make usage less than 0 for the following resources: %(unders)s"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:4451
+#, python-format
+msgid ""
+"Volume(%s) has lower stats then what is in the database. Instance must "
+"have been rebooted or crashed. Updating totals."
+msgstr ""
+
+#: nova/db/sqlalchemy/migration.py:69
+#: nova/virt/baremetal/db/sqlalchemy/migration.py:66
+msgid "version should be an integer"
+msgstr ""
+
+#: nova/db/sqlalchemy/migration.py:96
+#: nova/virt/baremetal/db/sqlalchemy/migration.py:94
+msgid "Upgrade DB using Essex release first."
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:77
+#, python-format
+msgid ""
+"Please specify column %s in col_name_col_instance param. It is required "
+"because column has unsupported type by sqlite)."
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:83
+#, python-format
+msgid ""
+"col_name_col_instance param has wrong type of column instance for column "
+"%s It should be instance of sqlalchemy.Column."
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:220
+#, python-format
+msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:254
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:260
+#, python-format
+msgid ""
+"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
+"%(shadow_c_type)s"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:269
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:289
+msgid "Specify `table_name` or `table` param"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:292
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
+#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
+#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
+msgid "Exception while creating table."
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:326
+msgid "Unsupported id columns type"
+msgstr ""
+
+#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
+msgid "Exception while seeding instance_types table"
+msgstr ""
+
+#: nova/db/sqlalchemy/migrate_repo/versions/145_add_volume_usage_cache.py:68
+msgid "volume_usage_cache table not dropped"
+msgstr ""
+
+#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:77
+#, python-format
+msgid "table '%s' not dropped"
+msgstr ""
+
+#: nova/image/glance.py:187
+#, python-format
+msgid ""
+"Error contacting glance server '%(host)s:%(port)s' for '%(method)s', "
+"%(extra)s."
+msgstr ""
+
+#: nova/image/glance.py:496
+#, python-format
+msgid "fetching image %s from glance"
+msgstr ""
+
+#: nova/image/s3.py:332
+#, python-format
+msgid "Failed to download %(image_location)s to %(image_path)s"
+msgstr ""
+
+#: nova/image/s3.py:349
+#, python-format
+msgid "Failed to decrypt %(image_location)s to %(image_path)s"
+msgstr ""
+
+#: nova/image/s3.py:360
+#, python-format
+msgid "Failed to untar %(image_location)s to %(image_path)s"
+msgstr ""
+
+#: nova/image/s3.py:370
+#, python-format
+msgid "Failed to upload %(image_location)s to %(image_path)s"
+msgstr ""
+
+#: nova/image/s3.py:382
+#, python-format
+msgid "Image %s was deleted underneath us"
+msgstr ""
+
+#: nova/image/s3.py:397
+#, python-format
+msgid "Failed to decrypt private key: %s"
+msgstr ""
+
+#: nova/image/s3.py:404
+#, python-format
+msgid "Failed to decrypt initialization vector: %s"
+msgstr ""
+
+#: nova/image/s3.py:415
+#, python-format
+msgid "Failed to decrypt image file %(image_file)s: %(err)s"
+msgstr ""
+
+#: nova/image/s3.py:427
+msgid "Unsafe filenames in image"
+msgstr ""
+
+#: nova/ipv6/account_identifier.py:38 nova/ipv6/rfc2462.py:34
+#, python-format
+msgid "Bad mac for to_global_ipv6: %s"
+msgstr ""
+
+#: nova/ipv6/account_identifier.py:40 nova/ipv6/rfc2462.py:36
+#, python-format
+msgid "Bad prefix for to_global_ipv6: %s"
+msgstr ""
+
+#: nova/ipv6/account_identifier.py:42
+#, python-format
+msgid "Bad project_id for to_global_ipv6: %s"
+msgstr ""
+
+#: nova/network/api.py:56
+msgid "instance is a required argument to use @refresh_cache"
+msgstr ""
+
+#: nova/network/api.py:90
+msgid "Failed to notify cells of instance info cache update"
+msgstr ""
+
+#: nova/network/api.py:93
+msgid "Failed storing info cache"
+msgstr ""
+
+#: nova/network/api.py:248
+#, python-format
+msgid "re-assign floating IP %(address)s from instance %(instance_id)s"
+msgstr ""
+
+#: nova/network/driver.py:40
+msgid "Network driver option required, but not specified"
+msgstr ""
+
+#: nova/network/driver.py:43
+#, python-format
+msgid "Loading network driver '%s'"
+msgstr ""
+
+#: nova/network/floating_ips.py:88
+#, python-format
+msgid "Fixed ip %(fixed_ip_id)s not found"
+msgstr ""
+
+#: nova/network/floating_ips.py:98 nova/network/floating_ips.py:374
+#, python-format
+msgid "Interface %(interface)s not found"
+msgstr ""
+
+#: nova/network/floating_ips.py:122
+#, python-format
+msgid "floating IP allocation for instance |%(floating_address)s|"
+msgstr ""
+
+#: nova/network/floating_ips.py:179
+msgid "Floating IP is not associated. Ignore."
+msgstr ""
+
+#: nova/network/floating_ips.py:197
+#, python-format
+msgid "Address |%(address)s| is not allocated"
+msgstr ""
+
+#: nova/network/floating_ips.py:201
+#, python-format
+msgid "Address |%(address)s| is not allocated to your project |%(project)s|"
+msgstr ""
+
+#: nova/network/floating_ips.py:221
+#, python-format
+msgid "Quota exceeded for %(pid)s, tried to allocate floating IP"
+msgstr ""
+
+#: nova/network/floating_ips.py:282
+msgid "Failed to update usages deallocating floating IP"
+msgstr ""
+
+#: nova/network/floating_ips.py:532
+#, python-format
+msgid "Starting migration network for instance %(instance_uuid)s"
+msgstr ""
+
+#: nova/network/floating_ips.py:539
+#, python-format
+msgid ""
+"Floating ip address |%(address)s| no longer belongs to instance "
+"%(instance_uuid)s. Will notmigrate it "
+msgstr ""
+
+#: nova/network/floating_ips.py:574
+#, python-format
+msgid "Finishing migration network for instance %(instance_uuid)s"
+msgstr ""
+
+#: nova/network/floating_ips.py:582
+#, python-format
+msgid ""
+"Floating ip address |%(address)s| no longer belongs to instance "
+"%(instance_uuid)s. Will notsetup it."
+msgstr ""
+
+#: nova/network/floating_ips.py:630
+#, python-format
+msgid ""
+"Database inconsistency: DNS domain |%s| is registered in the Nova db but "
+"not visible to either the floating or instance DNS driver. It will be "
+"ignored."
+msgstr ""
+
+#: nova/network/floating_ips.py:670
+#, python-format
+msgid "Domain |%(domain)s| already exists, changing zone to |%(av_zone)s|."
+msgstr ""
+
+#: nova/network/floating_ips.py:679
+#, python-format
+msgid "Domain |%(domain)s| already exists, changing project to |%(project)s|."
+msgstr ""
+
+#: nova/network/ldapdns.py:102
+#, python-format
+msgid ""
+"Found multiple matches for domain %(domain)s.\n"
+"%(entry)s"
+msgstr ""
+
+#: nova/network/ldapdns.py:129
+#, python-format
+msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
+msgstr ""
+
+#: nova/network/ldapdns.py:325
+msgid "This driver only supports type 'a' entries."
+msgstr ""
+
+#: nova/network/ldapdns.py:368
+msgid "This shouldn't be getting called except during testing."
+msgstr ""
+
+#: nova/network/linux_net.py:219
+#, python-format
+msgid "Attempted to remove chain %s which does not exist"
+msgstr ""
+
+#: nova/network/linux_net.py:254
+#, python-format
+msgid "Unknown chain: %r"
+msgstr ""
+
+#: nova/network/linux_net.py:279
+#, python-format
+msgid ""
+"Tried to remove rule that was not there: %(chain)r %(rule)r %(wrap)r "
+"%(top)r"
+msgstr ""
+
+#: nova/network/linux_net.py:424
+msgid "IPTablesManager.apply completed with success"
+msgstr ""
+
+#: nova/network/linux_net.py:681
+#, python-format
+msgid "arping error for ip %s"
+msgstr ""
+
+#: nova/network/linux_net.py:731
+#, python-format
+msgid "Removed %(num)d duplicate rules for floating ip %(float)s"
+msgstr ""
+
+#: nova/network/linux_net.py:779
+#, python-format
+msgid "Error deleting conntrack entries for %s"
+msgstr ""
+
+#: nova/network/linux_net.py:980
+#, python-format
+msgid "Pid %d is stale, skip killing dnsmasq"
+msgstr ""
+
+#: nova/network/linux_net.py:1025
+#, python-format
+msgid "Hupping dnsmasq threw %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1027
+#, python-format
+msgid "Pid %d is stale, relaunching dnsmasq"
+msgstr ""
+
+#: nova/network/linux_net.py:1107
+#, python-format
+msgid "killing radvd threw %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1109
+#, python-format
+msgid "Pid %d is stale, relaunching radvd"
+msgstr ""
+
+#: nova/network/linux_net.py:1297
+#, python-format
+msgid "Net device removed: '%s'"
+msgstr ""
+
+#: nova/network/linux_net.py:1300
+#, python-format
+msgid "Failed removing net device: '%s'"
+msgstr ""
+
+#: nova/network/linux_net.py:1418
+#, python-format
+msgid "Starting VLAN interface %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1464
+#, python-format
+msgid "Starting Bridge %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1476
+#, python-format
+msgid "Adding interface %(interface)s to bridge %(bridge)s"
+msgstr ""
+
+#: nova/network/linux_net.py:1512
+#, python-format
+msgid "Failed to add interface: %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1749
+#, python-format
+msgid "Starting bridge %s "
+msgstr ""
+
+#: nova/network/linux_net.py:1757
+#, python-format
+msgid "Done starting bridge %s"
+msgstr ""
+
+#: nova/network/manager.py:365
+#, python-format
+msgid "Disassociated %s stale fixed ip(s)"
+msgstr ""
+
+#: nova/network/manager.py:369
+msgid "setting network host"
+msgstr ""
+
+#: nova/network/manager.py:481
+msgid "network allocations"
+msgstr ""
+
+#: nova/network/manager.py:488
+#, python-format
+msgid "networks retrieved for instance: |%(networks_list)s|"
+msgstr ""
+
+#: nova/network/manager.py:536
+msgid "network deallocation for instance"
+msgstr ""
+
+#: nova/network/manager.py:803
+#, python-format
+msgid ""
+"instance-dns-zone is |%(domain)s|, which is in availability zone "
+"|%(zone)s|. Instance is in zone |%(zone2)s|. No DNS record will be "
+"created."
+msgstr ""
+
+#: nova/network/manager.py:829
+#, python-format
+msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
+msgstr ""
+
+#: nova/network/manager.py:881
+msgid "Failed to update usages deallocating fixed IP"
+msgstr ""
+
+#: nova/network/manager.py:913
+#, python-format
+msgid "Unable to release %s because vif doesn't exist."
+msgstr ""
+
+#: nova/network/manager.py:936
+#, python-format
+msgid "Leased IP |%(address)s|"
+msgstr ""
+
+#: nova/network/manager.py:940
+#, python-format
+msgid "IP %s leased that is not associated"
+msgstr ""
+
+#: nova/network/manager.py:949
+#, python-format
+msgid "IP |%s| leased that isn't allocated"
+msgstr ""
+
+#: nova/network/manager.py:954
+#, python-format
+msgid "Released IP |%(address)s|"
+msgstr ""
+
+#: nova/network/manager.py:958
+#, python-format
+msgid "IP %s released that is not associated"
+msgstr ""
+
+#: nova/network/manager.py:962
+#, python-format
+msgid "IP %s released that was not leased"
+msgstr ""
+
+#: nova/network/manager.py:981
+#, python-format
+msgid "%s must be an integer"
+msgstr ""
+
+#: nova/network/manager.py:1005
+msgid "Maximum allowed length for 'label' is 255."
+msgstr ""
+
+#: nova/network/manager.py:1025
+#, python-format
+msgid ""
+"Subnet(s) too large, defaulting to /%s. To override, specify "
+"network_size flag."
+msgstr ""
+
+#: nova/network/manager.py:1107
+msgid "cidr already in use"
+msgstr ""
+
+#: nova/network/manager.py:1110
+#, python-format
+msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
+msgstr ""
+
+#: nova/network/manager.py:1121
+#, python-format
+msgid ""
+"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
+"(%(smaller)s)"
+msgstr ""
+
+#: nova/network/manager.py:1178
+msgid "Network already exists!"
+msgstr ""
+
+#: nova/network/manager.py:1197
+#, python-format
+msgid "Network must be disassociated from project %s before delete"
+msgstr ""
+
+#: nova/network/manager.py:1792
+msgid ""
+"The sum between the number of networks and the vlan start cannot be "
+"greater than 4094"
+msgstr ""
+
+#: nova/network/manager.py:1799
+#, python-format
+msgid ""
+"The network range is not big enough to fit %(num_networks)s networks. "
+"Network size is %(network_size)s"
+msgstr ""
+
+#: nova/network/minidns.py:48
+#, python-format
+msgid "minidns file is |%s|"
+msgstr ""
+
+#: nova/network/minidns.py:75 nova/network/minidns.py:106
+msgid "Invalid name"
+msgstr ""
+
+#: nova/network/minidns.py:78
+msgid "This driver only supports type 'a'"
+msgstr ""
+
+#: nova/network/minidns.py:122
+#, python-format
+msgid "Cannot delete entry |%s|"
+msgstr ""
+
+#: nova/network/minidns.py:201
+#, python-format
+msgid "deleted %s"
+msgstr ""
+
+#: nova/network/minidns.py:207
+#, python-format
+msgid "Cannot delete domain |%s|"
+msgstr ""
+
+#: nova/network/model.py:383
+msgid "v4 subnets are required for legacy nw_info"
+msgstr ""
+
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:152
+#, python-format
+msgid "allocate_for_instance() for %s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:155
+#, python-format
+msgid "empty project id for instance %s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:201
+#, python-format
+msgid ""
+"Multiple security groups found matching '%s'. Use an ID to be more "
+"specific."
+msgstr ""
+
+#: nova/network/quantumv2/api.py:270
+msgid "Port not found"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:278
+#, python-format
+msgid "Fail to delete port %(portid)s with failure: %(exception)s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:318
+#, python-format
+msgid "deallocate_for_instance() for %s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:327
+#, python-format
+msgid "Failed to delete quantum port %(portid)s "
+msgstr ""
+
+#: nova/network/quantumv2/api.py:349
+#, python-format
+msgid "Failed to delete quantum port %(port_id)s "
+msgstr ""
+
+#: nova/network/quantumv2/api.py:373
+#, python-format
+msgid "get_instance_nw_info() for %s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:405
+#, python-format
+msgid ""
+"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
+"%(exception)s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:435
+#, python-format
+msgid "Unable to update port %(portid)s with failure: %(exception)s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:445
+#, python-format
+msgid "validate_networks() for %s"
+msgstr ""
+
+#: nova/network/quantumv2/api.py:688
+#, python-format
+msgid "Multiple floating IP pools matches found for name '%s'"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:56
+#, python-format
+msgid "Quantum Error creating security group %s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:75
+#, python-format
+msgid "Quantum Error updating security group %s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:129
+#, python-format
+msgid "Quantum security group %s not found"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
+#, python-format
+msgid "Quantum Error: %s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:153
+msgid "Quantum Error getting security groups"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:162
+msgid "Security group id should be uuid"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:199
+#, python-format
+msgid "Quantum Error getting security group %s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
+msgid "Quantum Error:"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:257
+#, python-format
+msgid "Quantum Error unable to delete %s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:267
+#, python-format
+msgid "Quantum security group rule %s not found"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:382
+#, python-format
+msgid ""
+"Cannot add security group %(name)s to %(instance)s since the port "
+"%(port_id)s does not meet security requirements"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
+#, python-format
+msgid "Adding security group %(security_group_id)s to port %(port_id)s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:453
+#, python-format
+msgid ""
+"Security group %(security_group_name)s not assocaited with the instance "
+"%(instance)s"
+msgstr ""
+
+#: nova/network/security_group/security_group_base.py:137
+#, python-format
+msgid "This rule already exists in group %s"
+msgstr ""
+
+#: nova/objects/base.py:54
+#, python-format
+msgid "Error setting %(attr)s"
+msgstr ""
+
+#: nova/objects/base.py:145
+msgid "Invalid version string"
+msgstr ""
+
+#: nova/objects/base.py:202
+#, python-format
+msgid "Unable to instantiate unregistered object type %(objtype)s"
+msgstr ""
+
+#: nova/objects/base.py:305
+#, python-format
+msgid "Cannot load '%(attrname)s' in the base class"
+msgstr ""
+
+#: nova/openstack/common/excutils.py:48
+#, python-format
+msgid "Original exception being dropped: %s"
+msgstr ""
+
+#: nova/openstack/common/lockutils.py:102
+#, python-format
+msgid "Could not release the acquired lock `%s`"
+msgstr ""
+
+#: nova/openstack/common/lockutils.py:188
+#, python-format
+msgid "Got semaphore \"%(lock)s\" for method \"%(method)s\"..."
+msgstr ""
+
+#: nova/openstack/common/lockutils.py:199
+#, python-format
+msgid "Attempting to grab file lock \"%(lock)s\" for method \"%(method)s\"..."
+msgstr ""
+
+#: nova/openstack/common/lockutils.py:226
+#, python-format
+msgid "Got file lock \"%(lock)s\" at %(path)s for method \"%(method)s\"..."
+msgstr ""
+
+#: nova/openstack/common/lockutils.py:234
+#, python-format
+msgid "Released file lock \"%(lock)s\" at %(path)s for method \"%(method)s\"..."
+msgstr ""
+
+#: nova/openstack/common/log.py:244
+#, python-format
+msgid "Deprecated: %s"
+msgstr ""
+
+#: nova/openstack/common/log.py:336
+#, python-format
+msgid "Error loading logging config %(log_config)s: %(err_msg)s"
+msgstr ""
+
+#: nova/openstack/common/log.py:386
+#, python-format
+msgid "syslog facility must be one of: %s"
+msgstr ""
+
+#: nova/openstack/common/log.py:555
+#, python-format
+msgid "Fatal call to deprecated config: %(msg)s"
+msgstr ""
+
+#: nova/openstack/common/loopingcall.py:84
+#, python-format
+msgid "task run outlasted interval by %s sec"
+msgstr ""
+
+#: nova/openstack/common/loopingcall.py:91
+msgid "in fixed duration looping call"
+msgstr ""
+
+#: nova/openstack/common/loopingcall.py:131
+#, python-format
+msgid "Dynamic looping call sleeping for %.02f seconds"
+msgstr ""
+
+#: nova/openstack/common/loopingcall.py:138
+msgid "in dynamic looping call"
+msgstr ""
+
+#: nova/openstack/common/periodic_task.py:41
+#, python-format
+msgid "Unexpected argument for periodic task creation: %(arg)s."
+msgstr ""
+
+#: nova/openstack/common/periodic_task.py:132
+#, python-format
+msgid "Skipping periodic task %(task)s because its interval is negative"
+msgstr ""
+
+#: nova/openstack/common/periodic_task.py:137
+#, python-format
+msgid "Skipping periodic task %(task)s because it is disabled"
+msgstr ""
+
+#: nova/openstack/common/periodic_task.py:175
+#, python-format
+msgid "Running periodic task %(full_task_name)s"
+msgstr ""
+
+#: nova/openstack/common/periodic_task.py:183
+#, python-format
+msgid "Error during %(full_task_name)s: %(e)s"
+msgstr ""
+
+#: nova/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: nova/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: nova/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: nova/openstack/common/processutils.py:127
+#, python-format
+msgid "Got unknown keyword args to utils.execute: %r"
+msgstr ""
+
+#: nova/openstack/common/processutils.py:142
+#, python-format
+msgid "Running cmd (subprocess): %s"
+msgstr ""
+
+#: nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:117
+#, python-format
+msgid "Result was %s"
+msgstr ""
+
+#: nova/openstack/common/processutils.py:179
+#, python-format
+msgid "%r failed. Retrying."
+msgstr ""
+
+#: nova/openstack/common/processutils.py:219
+#, python-format
+msgid "Running cmd (SSH): %s"
+msgstr ""
+
+#: nova/openstack/common/processutils.py:221
+msgid "Environment not supported over SSH"
+msgstr ""
+
+#: nova/openstack/common/processutils.py:225
+msgid "process_input not supported over SSH"
+msgstr ""
+
+#: nova/openstack/common/service.py:113 nova/openstack/common/service.py:276
+msgid "Full set of CONF:"
+msgstr ""
+
+#: nova/openstack/common/service.py:122 nova/openstack/common/service.py:219
+#, python-format
+msgid "Caught %s, exiting"
+msgstr ""
+
+#: nova/openstack/common/service.py:165
+msgid "Parent process has died unexpectedly, exiting"
+msgstr ""
+
+#: nova/openstack/common/service.py:201
+msgid "Forking too fast, sleeping"
+msgstr ""
+
+#: nova/openstack/common/service.py:224
+msgid "Unhandled exception"
+msgstr ""
+
+#: nova/openstack/common/service.py:231
+#, python-format
+msgid "Started child %d"
+msgstr ""
+
+#: nova/openstack/common/service.py:241
+#, python-format
+msgid "Starting %d workers"
+msgstr ""
+
+#: nova/openstack/common/service.py:258
+#, python-format
+msgid "Child %(pid)d killed by signal %(sig)d"
+msgstr ""
+
+#: nova/openstack/common/service.py:262
+#, python-format
+msgid "Child %(pid)s exited with status %(code)d"
+msgstr ""
+
+#: nova/openstack/common/service.py:266
+#, python-format
+msgid "pid %d not in child list"
+msgstr ""
+
+#: nova/openstack/common/service.py:294
+#, python-format
+msgid "Caught %s, stopping children"
+msgstr ""
+
+#: nova/openstack/common/service.py:305
+#, python-format
+msgid "Waiting on %d children to exit"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:86
+#, python-format
+msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
+#: nova/openstack/common/db/sqlalchemy/session.py:462
+msgid "DB exception wrapped."
+msgstr ""
+
+#: nova/openstack/common/db/sqlalchemy/session.py:513
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: nova/openstack/common/db/sqlalchemy/session.py:585
+#, python-format
+msgid "SQL connection failed. %s attempts left."
+msgstr ""
+
+#: nova/openstack/common/db/sqlalchemy/utils.py:72
+msgid "Id not in sort_keys; is sort_keys unique?"
+msgstr ""
+
+#: nova/openstack/common/db/sqlalchemy/utils.py:120
+msgid "Unknown sort direction, must be 'desc' or 'asc'"
+msgstr ""
+
+#: nova/openstack/common/notifier/api.py:125
+#, python-format
+msgid "%s not in valid priorities"
+msgstr ""
+
+#: nova/openstack/common/notifier/api.py:141
+#, python-format
+msgid ""
+"Problem '%(e)s' attempting to send to notification system. "
+"Payload=%(payload)s"
+msgstr ""
+
+#: nova/openstack/common/notifier/api.py:171
+#, python-format
+msgid "Failed to load notifier %s. These notifications will not be sent."
+msgstr ""
+
+#: nova/openstack/common/notifier/rabbit_notifier.py:27
+msgid "The rabbit_notifier is now deprecated. Please use rpc_notifier instead."
+msgstr ""
+
+#: nova/openstack/common/notifier/rpc_notifier.py:45
+#: nova/openstack/common/notifier/rpc_notifier2.py:51
+#, python-format
+msgid "Could not send notification to %(topic)s. Payload=%(message)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/__init__.py:106
+#, python-format
+msgid ""
+"A RPC is being made while holding a lock. The locks currently held are "
+"%(locks)s. This is probably a bug. Please report it. Include the "
+"following: [%(stack)s]."
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:75
+msgid "Pool creating new connection"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:200
+#, python-format
+msgid "no calling threads waiting for msg_id : %s, message : %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:208
+#, python-format
+msgid ""
+"Number of call waiters is greater than warning threshhold: %d. There "
+"could be a MulticallProxyWaiter leak."
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:291
+#, python-format
+msgid "unpacked context: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:337
+#, python-format
+msgid "UNIQUE_ID is %s."
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:406
+#, python-format
+msgid "received %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:414
+#, python-format
+msgid "no method for message: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:415
+#, python-format
+msgid "No method for message: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:443
+#: nova/openstack/common/rpc/impl_zmq.py:286
+#, python-format
+msgid "Expected exception during message handling (%s)"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:451
+#: nova/openstack/common/rpc/impl_zmq.py:292
+msgid "Exception during message handling"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:586
+#, python-format
+msgid "Making synchronous call on %s ..."
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:589
+#, python-format
+msgid "MSG_ID is %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:623
+#, python-format
+msgid "Making asynchronous cast on %s..."
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:632
+msgid "Making asynchronous fanout cast..."
+msgstr ""
+
+#: nova/openstack/common/rpc/amqp.py:660
+#, python-format
+msgid "Sending %(event_type)s on %(topic)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:75
+msgid "An unknown RPC related exception occurred."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:105
+#, python-format
+msgid ""
+"Remote error: %(exc_type)s %(value)s\n"
+"%(traceback)s."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:122
+#, python-format
+msgid ""
+"Timeout while waiting on RPC response - topic: \"%(topic)s\", RPC method:"
+" \"%(method)s\" info: \"%(info)s\""
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:138
+#: nova/openstack/common/rpc/common.py:139
+#: nova/openstack/common/rpc/common.py:140
+msgid "<unknown>"
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:144
+#, python-format
+msgid "Found duplicate message(%(msg_id)s). Skipping it."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:148
+msgid "Invalid reuse of an RPC connection."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:152
+#, python-format
+msgid "Specified RPC version, %(version)s, not supported by this endpoint."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:157
+#, python-format
+msgid ""
+"Specified RPC envelope version, %(version)s, not supported by this "
+"endpoint."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:162
+#, python-format
+msgid "Specified RPC version cap, %(version_cap)s, is too low"
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:285
+#, python-format
+msgid "Failed to sanitize %(item)s. Key error %(err)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:307
+#, python-format
+msgid "Returning exception %s to caller"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:169
+#: nova/openstack/common/rpc/impl_qpid.py:153
+msgid "Failed to process message... skipping it."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:480
+#, python-format
+msgid "Reconnecting to AMQP server on %(hostname)s:%(port)d"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:502
+#, python-format
+msgid "Connected to AMQP server on %(hostname)s:%(port)d"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:539
+#, python-format
+msgid ""
+"Unable to connect to AMQP server on %(hostname)s:%(port)d after "
+"%(max_retries)d tries: %(err_str)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:555
+#, python-format
+msgid ""
+"AMQP server on %(hostname)s:%(port)d is unreachable: %(err_str)s. Trying "
+"again in %(sleep_time)d seconds."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:609
+#: nova/openstack/common/rpc/impl_qpid.py:457
+#, python-format
+msgid "Failed to declare consumer for topic '%(topic)s': %(err_str)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:627
+#: nova/openstack/common/rpc/impl_qpid.py:472
+#, python-format
+msgid "Timed out waiting for RPC response: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:631
+#: nova/openstack/common/rpc/impl_qpid.py:476
+#, python-format
+msgid "Failed to consume message from queue: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:670
+#: nova/openstack/common/rpc/impl_qpid.py:511
+#, python-format
+msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_qpid.py:399
+#, python-format
+msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_qpid.py:405
+#, python-format
+msgid "Connected to AMQP server on %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_qpid.py:418
+msgid "Re-established AMQP queues"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_qpid.py:484
+msgid "Error processing message. Skipping it."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:97
+msgid "JSON serialization failed."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:104
+#, python-format
+msgid "Deserializing: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:140
+#, python-format
+msgid "Connecting to %(addr)s with %(type)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:141
+#, python-format
+msgid "-> Subscribed to %(subscribe)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:142
+#, python-format
+msgid "-> bind: %(bind)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:150
+msgid "Could not open socket."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:162
+#, python-format
+msgid "Subscribing to %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:204
+msgid "You cannot recv on this socket."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:209
+msgid "You cannot send on this socket."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:273
+#, python-format
+msgid "Running func with context: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:311
+msgid "Sending reply"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:345
+msgid "RPC message did not include method."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:380
+msgid "Registering reactor"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:392
+msgid "In reactor registered"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:407
+msgid "Out reactor registered"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:411
+msgid "Consuming socket"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:453
+#, python-format
+msgid "CONSUMER GOT %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:465
+#, python-format
+msgid "Creating proxy for topic: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:471
+msgid "Topic contained dangerous characters."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:496
+#, python-format
+msgid "ROUTER RELAY-OUT SUCCEEDED %(data)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:505
+msgid "Topic socket file creation failed."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:510
+#, python-format
+msgid "ROUTER RELAY-OUT QUEUED %(data)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:513
+#, python-format
+msgid "Local per-topic backlog buffer full for topic %(topic)s. Dropping message."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:532
+#, python-format
+msgid "Could not create IPC directory %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:542
+msgid "Could not create ZeroMQ receiver daemon. Socket may already be in use."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:576
+#, python-format
+msgid "CONSUMER RECEIVED DATA: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:578
+#, python-format
+msgid "ROUTER RELAY-OUT %(data)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:600
+msgid "ZMQ Envelope version unsupported or unknown."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:628
+msgid "Skipping topic registration. Already registered."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:635
+#, python-format
+msgid "Consumer is a zmq.%s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:687
+msgid "Creating payload"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:700
+msgid "Creating queue socket for reply waiter"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:713
+msgid "Sending cast"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:716
+msgid "Cast sent; Waiting reply"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:719
+#, python-format
+msgid "Received message: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:720
+msgid "Unpacking response"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:729
+msgid "Unsupported or unknown ZMQ envelope returned."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:736
+msgid "RPC Message Invalid."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:760
+#, python-format
+msgid "%(msg)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:763
+#, python-format
+msgid "Sending message(s) to: %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:767
+msgid "No matchmaker results. Not casting."
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_zmq.py:770
+msgid "No match from matchmaker."
+msgstr ""
+
+#: nova/openstack/common/rpc/matchmaker.py:53
+msgid "Match not found by MatchMaker."
+msgstr ""
+
+#: nova/openstack/common/rpc/matchmaker.py:89
+msgid "Matchmaker does not implement registration or heartbeat."
+msgstr ""
+
+#: nova/openstack/common/rpc/matchmaker.py:239
+#, python-format
+msgid "Matchmaker unregistered: %s, %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/matchmaker.py:250
+msgid "Register before starting heartbeat."
+msgstr ""
+
+#: nova/openstack/common/rpc/matchmaker.py:343
+#: nova/openstack/common/rpc/matchmaker.py:361
+#, python-format
+msgid "No key defining hosts for topic '%s', see ringfile"
+msgstr ""
+
+#: nova/scheduler/chance.py:56
+msgid "Is the appropriate service running?"
+msgstr ""
+
+#: nova/scheduler/chance.py:61
+msgid "Could not find another compute"
+msgstr ""
+
+#: nova/scheduler/driver.py:57
+msgid "Exception during scheduler.run_instance"
+msgstr ""
+
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
+#, python-format
+msgid "Setting instance to %s state."
+msgstr ""
+
+#: nova/scheduler/driver.py:150
+msgid "Driver must implement schedule_prep_resize"
+msgstr ""
+
+#: nova/scheduler/driver.py:158
+msgid "Driver must implement schedule_run_instance"
+msgstr ""
+
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
+msgstr ""
+
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:76
+#, python-format
+msgid ""
+"Attempting to build %(num_instances)d instance(s) uuids: "
+"%(instance_uuids)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:80
+#, python-format
+msgid "Request Spec: %s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:100
+#, python-format
+msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:258
+msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:275
+#, python-format
+msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:307
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:375
+#, python-format
+msgid "Filtered %(hosts)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:380
+#, python-format
+msgid "Weighed %(hosts)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:433
+#, python-format
+msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
+msgstr ""
+
+#: nova/scheduler/host_manager.py:308
+#, python-format
+msgid "Host filter ignoring hosts: %s"
+msgstr ""
+
+#: nova/scheduler/host_manager.py:320
+#, python-format
+msgid "Host filter forcing available hosts to %s"
+msgstr ""
+
+#: nova/scheduler/host_manager.py:323
+#, python-format
+msgid "No hosts matched due to not matching 'force_hosts' value of '%s'"
+msgstr ""
+
+#: nova/scheduler/host_manager.py:336
+#, python-format
+msgid "Host filter forcing available nodes to %s"
+msgstr ""
+
+#: nova/scheduler/host_manager.py:339
+#, python-format
+msgid "No nodes matched due to not matching 'force_nodes' value of '%s'"
+msgstr ""
+
+#: nova/scheduler/host_manager.py:379
+#, python-format
+msgid "Ignoring %(service_name)s service update from %(host)s"
+msgstr ""
+
+#: nova/scheduler/host_manager.py:385
+#, python-format
+msgid "Received %(service_name)s service update from %(state_key)s."
+msgstr ""
+
+#: nova/scheduler/host_manager.py:405
+#: nova/scheduler/filters/trusted_filter.py:214
+#, python-format
+msgid "No service for compute ID %s"
+msgstr ""
+
+#: nova/scheduler/host_manager.py:427
+#, python-format
+msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
+msgstr ""
+
+#: nova/scheduler/scheduler_options.py:71
+#, python-format
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgstr ""
+
+#: nova/scheduler/scheduler_options.py:80
+#, python-format
+msgid "Could not decode scheduler options: '%s'"
+msgstr ""
+
+#: nova/scheduler/utils.py:57
+#, python-format
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
+msgstr ""
+
+#: nova/scheduler/filters/affinity_filter.py:95
+#, python-format
+msgid "Group affinity: %(host)s in %(configured)s"
+msgstr ""
+
+#: nova/scheduler/filters/aggregate_instance_extra_specs.py:49
+#, python-format
+msgid ""
+"%(host_state)s fails instance_type extra_specs requirements. Extra_spec "
+"%(key)s is not in aggregate."
+msgstr ""
+
+#: nova/scheduler/filters/aggregate_instance_extra_specs.py:57
+#, python-format
+msgid ""
+"%(host_state)s fails instance_type extra_specs requirements. "
+"'%(aggregate_vals)s' do not match '%(req)s'"
+msgstr ""
+
+#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
+#, python-format
+msgid "%s fails tenant id on aggregate"
+msgstr ""
+
+#: nova/scheduler/filters/compute_capabilities_filter.py:58
+#, python-format
+msgid "%(host_state)s fails instance_type extra_specs requirements"
+msgstr ""
+
+#: nova/scheduler/filters/compute_filter.py:40
+#, python-format
+msgid "%(host_state)s is disabled or has not been heard from in a while"
+msgstr ""
+
+#: nova/scheduler/filters/compute_filter.py:44
+#, python-format
+msgid "%(host_state)s is disabled via capabilities"
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:50
+msgid "VCPUs not set; assuming CPU collection broken"
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
+#: nova/scheduler/filters/disk_filter.py:47
+#, python-format
+msgid ""
+"%(host_state)s does not have %(requested_disk)s MB usable disk, it only "
+"has %(usable_disk_mb)s MB usable disk."
+msgstr ""
+
+#: nova/scheduler/filters/image_props_filter.py:48
+#, python-format
+msgid ""
+"Instance contains properties %(image_props)s, but no corresponding "
+"capabilities are advertised by the compute node"
+msgstr ""
+
+#: nova/scheduler/filters/image_props_filter.py:61
+#, python-format
+msgid ""
+"Instance properties %(image_props)s are satisfied by compute host "
+"capabilities %(capabilities)s"
+msgstr ""
+
+#: nova/scheduler/filters/image_props_filter.py:68
+#, python-format
+msgid ""
+"Instance contains properties %(image_props)s that are not provided by the"
+" compute node capabilities %(capabilities)s"
+msgstr ""
+
+#: nova/scheduler/filters/image_props_filter.py:86
+#, python-format
+msgid "%(host_state)s does not support requested instance_properties"
+msgstr ""
+
+#: nova/scheduler/filters/io_ops_filter.py:42
+#, python-format
+msgid ""
+"%(host_state)s fails I/O ops check: Max IOs per host is set to "
+"%(max_io_ops)s"
+msgstr ""
+
+#: nova/scheduler/filters/num_instances_filter.py:39
+#, python-format
+msgid ""
+"%(host_state)s fails num_instances check: Max instances per host is set "
+"to %(max_instances)s"
+msgstr ""
+
+#: nova/scheduler/filters/ram_filter.py:55
+#, python-format
+msgid ""
+"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
+" %(usable_ram)s MB usable ram."
+msgstr ""
+
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
+#: nova/scheduler/filters/retry_filter.py:41
+#, python-format
+msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
+msgstr ""
+
+#: nova/servicegroup/api.py:60
+#, python-format
+msgid "ServiceGroup driver defined as an instance of %s"
+msgstr ""
+
+#: nova/servicegroup/api.py:66
+#, python-format
+msgid "unknown ServiceGroup driver name: %s"
+msgstr ""
+
+#: nova/servicegroup/api.py:83
+#, python-format
+msgid ""
+"Join new ServiceGroup member %(member_id)s to the %(group_id)s group, "
+"service = %(service)s"
+msgstr ""
+
+#: nova/servicegroup/api.py:90
+#, python-format
+msgid "Check if the given member [%s] is part of the ServiceGroup, is up"
+msgstr ""
+
+#: nova/servicegroup/api.py:99
+#, python-format
+msgid ""
+"Explicitly remove the given member %(member_id)s from the%(group_id)s "
+"group monitoring"
+msgstr ""
+
+#: nova/servicegroup/api.py:106
+#, python-format
+msgid "Returns ALL members of the [%s] ServiceGroup"
+msgstr ""
+
+#: nova/servicegroup/api.py:114
+#, python-format
+msgid "Returns one member of the [%s] group"
+msgstr ""
+
+#: nova/servicegroup/drivers/db.py:41
+#, python-format
+msgid ""
+"DB_Driver: join new ServiceGroup member %(member_id)s to the %(group_id)s"
+" group, service = %(service)s"
+msgstr ""
+
+#: nova/servicegroup/drivers/db.py:45
+msgid "service is a mandatory argument for DB based ServiceGroup driver"
+msgstr ""
+
+#: nova/servicegroup/drivers/db.py:72
+#, python-format
+msgid "DB_Driver: get_all members of the %s group"
+msgstr ""
+
+#: nova/servicegroup/drivers/db.py:95 nova/servicegroup/drivers/mc.py:99
+msgid "Recovered model server connection!"
+msgstr ""
+
+#: nova/servicegroup/drivers/db.py:101 nova/servicegroup/drivers/mc.py:105
+msgid "model server went away"
+msgstr ""
+
+#: nova/servicegroup/drivers/mc.py:43
+msgid "memcached_servers not defined"
+msgstr ""
+
+#: nova/servicegroup/drivers/mc.py:51
+#, python-format
+msgid ""
+"Memcached_Driver: join new ServiceGroup member %(member_id)s to the "
+"%(group_id)s group, service = %(service)s"
+msgstr ""
+
+#: nova/servicegroup/drivers/mc.py:56
+msgid "service is a mandatory argument for Memcached based ServiceGroup driver"
+msgstr ""
+
+#: nova/servicegroup/drivers/mc.py:74
+#, python-format
+msgid "Memcached_Driver: get_all members of the %s group"
+msgstr ""
+
+#: nova/servicegroup/drivers/zk.py:80
+#, python-format
+msgid ""
+"ZooKeeperDriver: join new member %(id)s to the %(gr)s group, "
+"service=%(sr)s"
+msgstr ""
+
+#: nova/servicegroup/drivers/zk.py:90
+msgid ""
+"Unable to join. It is possible that either another node exists with the "
+"same name, or this node just restarted. We will try again in a short "
+"while to make sure."
+msgstr ""
+
+#: nova/servicegroup/drivers/zk.py:101
+#, python-format
+msgid "ZooKeeperDriver.leave: %(member)s from group %(group)s"
+msgstr ""
+
+#: nova/servicegroup/drivers/zk.py:109
+#, python-format
+msgid "ZooKeeperDriver.leave: %(id)s has not joined to the %(gr)s group"
+msgstr ""
+
+#: nova/storage/linuxscsi.py:71
+#, python-format
+msgid "Trying (%(tries)s) to remove device %(device)s"
+msgstr ""
+
+#: nova/storage/linuxscsi.py:101
+#, python-format
+msgid "Multipath call failed exit (%(code)s)"
+msgstr ""
+
+#: nova/storage/linuxscsi.py:122
+#, python-format
+msgid "Couldn't find multipath device %(line)s"
+msgstr ""
+
+#: nova/storage/linuxscsi.py:126
+#, python-format
+msgid "Found multipath device = %(mdev)s"
+msgstr ""
+
+#: nova/tests/fake_ldap.py:34
+msgid "Attempted to instantiate singleton"
+msgstr ""
+
+#: nova/tests/fake_processutils.py:71
+#, python-format
+msgid "Faking execution of cmd (subprocess): %s"
+msgstr ""
+
+#: nova/tests/fake_processutils.py:79
+#, python-format
+msgid "Faked command matched %s"
+msgstr ""
+
+#: nova/tests/fake_processutils.py:95
+#, python-format
+msgid "Faked command raised an exception %s"
+msgstr ""
+
+#: nova/tests/fake_processutils.py:100
+#, python-format
+msgid "Reply to faked command is stdout='%(stdout)s' stderr='%(stderr)s'"
+msgstr ""
+
+#: nova/tests/fake_volume.py:188
+msgid "status must be available"
+msgstr ""
+
+#: nova/tests/fake_volume.py:192 nova/volume/cinder.py:238
+msgid "already attached"
+msgstr ""
+
+#: nova/tests/fake_volume.py:196 nova/volume/cinder.py:242
+msgid "Instance and volume not in same availability_zone"
+msgstr ""
+
+#: nova/tests/fake_volume.py:201 nova/volume/cinder.py:248
+msgid "already detached"
+msgstr ""
+
+#: nova/tests/api/test_auth.py:79
+msgid "200 Role Match"
+msgstr ""
+
+#: nova/tests/api/test_auth.py:81
+msgid "200 No Roles"
+msgstr ""
+
+#: nova/tests/api/test_auth.py:84
+msgid "unexpected role header"
+msgstr ""
+
+#: nova/tests/api/openstack/compute/test_servers.py:3504
+#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
+msgid ""
+"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
+"instances"
+msgstr ""
+
+#: nova/tests/api/openstack/compute/test_servers.py:3509
+#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
+msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
+msgstr ""
+
+#: nova/tests/api/openstack/compute/test_servers.py:3514
+#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
+msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
+#, python-format
+msgid "Running instances: %s"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
+#, python-format
+msgid "After terminating instances: %s"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:1949
+msgid "Internal error"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:4271
+#, python-format
+msgid "After force-killing instances: %s"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:4782
+msgid "wrong host/node"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:9714
+msgid "spawn error"
+msgstr ""
+
+#: nova/tests/db/test_migrations.py:1805
+#, python-format
+msgid ""
+"The following migrations are missing a downgrade:\n"
+"\t%s"
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:183
+#, python-format
+msgid "%(result_str)s: %(result)s is not a dict."
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:197
+#, python-format
+msgid ""
+"Dictionary key mismatch:\n"
+"Extra key(s) in template:\n"
+"%(ex_delta)s\n"
+"Extra key(s) in %(result_str)s:\n"
+"%(res_delta)s\n"
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:208
+#, python-format
+msgid "%(result_str)s: %(result)s is not a list."
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:227
+msgid "Extra list items in template:"
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:231
+#, python-format
+msgid "Extra list items in %(result_str)s:"
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:252
+#: nova/tests/integrated/test_api_samples.py:267
+#, python-format
+msgid ""
+"Values do not match:\n"
+"Template: %(expected)s\n"
+"%(result_str)s: %(result)s"
+msgstr ""
+
+#: nova/tests/integrated/test_login.py:31
+#, python-format
+msgid "flavor: %s"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:38
+#, python-format
+msgid ""
+"%(message)s\n"
+"Status Code: %(_status)s\n"
+"Body: %(_body)s"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:47
+msgid "Authentication error"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:55
+msgid "Authorization error"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:63
+msgid "Item not found"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:105
+#, python-format
+msgid "Doing %(method)s on %(relative_url)s"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:107
+#, python-format
+msgid "Body: %s"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:125
+#, python-format
+msgid "%(auth_uri)s => code %(http_status)s"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:155
+#, python-format
+msgid "%(relative_uri)s => code %(http_status)s"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:165
+msgid "Unexpected status code"
+msgstr ""
+
+#: nova/tests/integrated/api/client.py:172
+#, python-format
+msgid "Decoding JSON: %s"
+msgstr ""
+
+#: nova/tests/virt/hyperv/test_hypervapi.py:433
+msgid "fake vswitch not found"
+msgstr ""
+
+#: nova/tests/virt/libvirt/fakelibvirt.py:893
+msgid "Please extend mock libvirt module to support flags"
+msgstr ""
+
+#: nova/tests/virt/libvirt/fakelibvirt.py:897
+msgid "Expected a list for 'auth' parameter"
+msgstr ""
+
+#: nova/tests/virt/libvirt/fakelibvirt.py:901
+msgid "Expected a function in 'auth[0]' parameter"
+msgstr ""
+
+#: nova/tests/virt/libvirt/fakelibvirt.py:905
+msgid "Expected a function in 'auth[1]' parameter"
+msgstr ""
+
+#: nova/tests/virt/xenapi/test_vm_utils.py:370
+#: nova/virt/xenapi/vm_utils.py:2181
+#, python-format
+msgid ""
+"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
+"left to copy"
+msgstr ""
+
+#: nova/tests/virt/xenapi/test_xenapi.py:900
+#, python-format
+msgid "Creating files in %s to simulate guest agent"
+msgstr ""
+
+#: nova/tests/virt/xenapi/test_xenapi.py:911
+#, python-format
+msgid "Removing simulated guest agent files in %s"
+msgstr ""
+
+#: nova/virt/configdrive.py:97
+#, python-format
+msgid "Added %(filepath)s to config drive"
+msgstr ""
+
+#: nova/virt/driver.py:949
+msgid "Event must be an instance of nova.virt.event.Event"
+msgstr ""
+
+#: nova/virt/driver.py:955
+#, python-format
+msgid "Exception dispatching event %(event)s: %(ex)s"
+msgstr ""
+
+#: nova/virt/driver.py:977
+msgid "Compute driver option required, but not specified"
+msgstr ""
+
+#: nova/virt/driver.py:980
+#, python-format
+msgid "Loading compute driver '%s'"
+msgstr ""
+
+#: nova/virt/driver.py:987
+msgid "Unable to load the virtualization driver"
+msgstr ""
+
+#: nova/virt/fake.py:212
+#, python-format
+msgid "Key '%(key)s' not in instances '%(inst)s'"
+msgstr ""
+
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
+msgid "Attempted to unfilter instance which is not filtered"
+msgstr ""
+
+#: nova/virt/firewall.py:200
+msgid "Filters added to instance"
+msgstr ""
+
+#: nova/virt/firewall.py:202
+msgid "Provider Firewall Rules refreshed"
+msgstr ""
+
+#: nova/virt/firewall.py:383
+#, python-format
+msgid "Adding security group rule: %r"
+msgstr ""
+
+#: nova/virt/firewall.py:517 nova/virt/xenapi/firewall.py:76
+#, python-format
+msgid "Adding provider rule: %s"
+msgstr ""
+
+#: nova/virt/images.py:114
+msgid "Snapshot list encountered but no header found!"
+msgstr ""
+
+#: nova/virt/images.py:203
+msgid "'qemu-img info' parsing failed."
+msgstr ""
+
+#: nova/virt/images.py:209
+#, python-format
+msgid "fmt=%(fmt)s backed by: %(backing_file)s"
+msgstr ""
+
+#: nova/virt/images.py:221
+#, python-format
+msgid "Converted to raw, but format is now %s"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:90
+#, python-format
+msgid "Request for baremetal node %s sent to wrong service host"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:143
+msgid "cpu_arch is not found in instance_type_extra_specs"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:185
+#, python-format
+msgid "Baremetal node id not supplied to driver for %r"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:259
+#, python-format
+msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:286
+#, python-format
+msgid "Baremetal power manager failed to restart node for instance %r"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:297
+#, python-format
+msgid "Destroy called on non-existing instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:315
+#, python-format
+msgid "Error from baremetal driver during destroy: %s"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:320
+#, python-format
+msgid "Error while recording destroy failure in baremetal database: %s"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:330
+#, python-format
+msgid "Baremetal power manager failed to stop node for instance %r"
+msgstr ""
+
+#: nova/virt/baremetal/driver.py:343
+#, python-format
+msgid "Baremetal power manager failed to start node for instance %r"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:86
+#, python-format
+msgid "pid file %s does not contain any pid"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:109
+msgid "Node id not supplied to IPMI"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:112
+msgid "Address not supplied to IPMI"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:115
+msgid "User not supplied to IPMI"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:118
+msgid "Password not supplied to IPMI"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:135
+#, python-format
+msgid "ipmitool stdout: '%(out)s', stderr: '%(err)s'"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:157
+msgid "IPMI power on failed"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:179
+msgid "IPMI power off failed"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:189
+msgid "IPMI set next bootdev failed"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:201 nova/virt/baremetal/tilera_pdu.py:153
+#, python-format
+msgid "Activate node called, but node %s is already active"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:109
+#, python-format
+msgid "Building PXE config for deployment %s."
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:228
+#, python-format
+msgid ""
+"Can not activate PXE bootloader. The following boot parameters were not "
+"passed to baremetal driver: %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
+#, python-format
+msgid "Fetching kernel and ramdisk for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
+#, python-format
+msgid "Fetching image %(ami)s for instance %(name)s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
+#, python-format
+msgid "Injecting files into image for instance %(name)s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
+#, python-format
+msgid "Node associated with another instance while waiting for deploy of %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:464
+#, python-format
+msgid "PXE deploy started for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:469
+#, python-format
+msgid "PXE deploy completed for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:473
+#, python-format
+msgid "PXE deploy failed for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
+#, python-format
+msgid "Baremetal node deleted while waiting for deployment of instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:480
+#, python-format
+msgid "Timeout reached while waiting for PXE deploy of instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/tilera.py:121
+#, python-format
+msgid ""
+"Can not activate Tilera bootloader. The following boot parameters were "
+"not passed to baremetal driver: %s"
+msgstr ""
+
+#: nova/virt/baremetal/tilera.py:338
+#, python-format
+msgid "Tilera deploy started for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/tilera.py:344
+#, python-format
+msgid "Tilera deploy completed for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/tilera.py:352
+msgid "Node is unknown error state."
+msgstr ""
+
+#: nova/virt/baremetal/tilera.py:355
+#, python-format
+msgid "Tilera deploy failed for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/tilera_pdu.py:83
+msgid "Node id not supplied to PDU"
+msgstr ""
+
+#: nova/virt/baremetal/tilera_pdu.py:86
+msgid "Address not supplied to PDU"
+msgstr ""
+
+#: nova/virt/baremetal/tilera_pdu.py:89
+msgid "User not supplied to PDU"
+msgstr ""
+
+#: nova/virt/baremetal/tilera_pdu.py:92
+msgid "Password not supplied to PDU"
+msgstr ""
+
+#: nova/virt/baremetal/tilera_pdu.py:117
+msgid "PDU failed"
+msgstr ""
+
+#: nova/virt/baremetal/tilera_pdu.py:134
+msgid "PDU power on failed"
+msgstr ""
+
+#: nova/virt/baremetal/tilera_pdu.py:147
+msgid "PDU power off failed"
+msgstr ""
+
+#: nova/virt/baremetal/utils.py:41
+#, python-format
+msgid "Failed to inject data into image %(image)s. Error: %(e)s"
+msgstr ""
+
+#: nova/virt/baremetal/utils.py:52
+#, python-format
+msgid "Failed to unlink %(path)s, error: %(e)s"
+msgstr ""
+
+#: nova/virt/baremetal/utils.py:60
+#, python-format
+msgid "Failed to remove dir %(path)s, error: %(e)s"
+msgstr ""
+
+#: nova/virt/baremetal/utils.py:75
+#, python-format
+msgid "Failed to create symlink from %(source)s to %(link)s, error: %(e)s"
+msgstr ""
+
+#: nova/virt/baremetal/vif_driver.py:37
+#, python-format
+msgid "plug: instance_uuid=%(uuid)s vif=%(vif)s"
+msgstr ""
+
+#: nova/virt/baremetal/vif_driver.py:50
+#, python-format
+msgid "pif:%(id)s is plugged (vif_uuid=%(vif_uuid)s)"
+msgstr ""
+
+#: nova/virt/baremetal/vif_driver.py:57
+#, python-format
+msgid ""
+"Baremetal node: %(id)s has no available physical interface for virtual "
+"interface %(vif_uuid)s"
+msgstr ""
+
+#: nova/virt/baremetal/vif_driver.py:63
+#, python-format
+msgid "unplug: instance_uuid=%(uuid)s vif=%(vif)s"
+msgstr ""
+
+#: nova/virt/baremetal/vif_driver.py:71
+#, python-format
+msgid "pif:%(id)s is unplugged (vif_uuid=%(vif_uuid)s)"
+msgstr ""
+
+#: nova/virt/baremetal/vif_driver.py:75
+#, python-format
+msgid "no pif for vif_uuid=%s"
+msgstr ""
+
+#: nova/virt/baremetal/virtual_power_driver.py:109
+msgid "virtual_power_ssh_host not defined. Can not Start"
+msgstr ""
+
+#: nova/virt/baremetal/virtual_power_driver.py:113
+msgid "virtual_power_host_user not defined. Can not Start"
+msgstr ""
+
+#: nova/virt/baremetal/virtual_power_driver.py:119
+msgid "virtual_power_host_pass/key not set. Can not Start"
+msgstr ""
+
+#: nova/virt/baremetal/volume_driver.py:123
+#, python-format
+msgid "baremetal driver was unable to delete tid %s"
+msgstr ""
+
+#: nova/virt/baremetal/volume_driver.py:187
+#, python-format
+msgid "Could not determine iscsi initiator name for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/volume_driver.py:227
+#, python-format
+msgid "No fixed PXE IP is associated to %s"
+msgstr ""
+
+#: nova/virt/baremetal/volume_driver.py:260
+#, python-format
+msgid "detach volume could not find tid for %s"
+msgstr ""
+
+#: nova/virt/baremetal/db/sqlalchemy/api.py:199
+msgid "instance_uuid must be supplied to bm_node_associate_and_update"
+msgstr ""
+
+#: nova/virt/baremetal/db/sqlalchemy/api.py:211
+#, python-format
+msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
+msgstr ""
+
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
+#, python-format
+msgid "Baremetal interface %s not found"
+msgstr ""
+
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
+#, python-format
+msgid "Baremetal interface %s already in use"
+msgstr ""
+
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
+#, python-format
+msgid "Baremetal virtual interface %s not found"
+msgstr ""
+
+#: nova/virt/disk/api.py:133
+#, python-format
+msgid "Checking if we can resize image %(image)s. size=%(size)s, CoW=%(use_cow)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:140
+#, python-format
+msgid "Cannot resize filesystem %s to a smaller size."
+msgstr ""
+
+#: nova/virt/disk/api.py:151
+#, python-format
+msgid "Unable to mount image %(image)s with error %(error)s. Cannot resize."
+msgstr ""
+
+#: nova/virt/disk/api.py:161
+#, python-format
+msgid ""
+"Unable to determine label for image %(image)s with error %(errror)s. "
+"Cannot resize."
+msgstr ""
+
+#: nova/virt/disk/api.py:228
+msgid "image already mounted"
+msgstr ""
+
+#: nova/virt/disk/api.py:284
+#, python-format
+msgid ""
+"Inject data image=%(image)s key=%(key)s net=%(net)s metadata=%(metadata)s"
+" admin_password=<SANITIZED> files=%(files)s partition=%(partition)s "
+"use_cow=%(use_cow)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:302
+#, python-format
+msgid "Ignoring error injecting data into image (%(e)s)"
+msgstr ""
+
+#: nova/virt/disk/api.py:321
+#, python-format
+msgid ""
+"Failed to mount container filesystem '%(image)s' on '%(target)s': "
+"%(errors)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:338
+#, python-format
+msgid "Failed to teardown ntainer filesystem: %s"
+msgstr ""
+
+#: nova/virt/disk/api.py:351
+#, python-format
+msgid "Failed to umount container filesystem: %s"
+msgstr ""
+
+#: nova/virt/disk/api.py:376
+#, python-format
+msgid "Ignoring error injecting %(inject)s into image (%(e)s)"
+msgstr ""
+
+#: nova/virt/disk/api.py:388
+#, python-format
+msgid "Inject file fs=%(fs)s path=%(path)s append=%(append)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:397
+#, python-format
+msgid "Inject metadata fs=%(fs)s metadata=%(metadata)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:438
+#, python-format
+msgid "Inject key fs=%(fs)s key=%(key)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:466
+#, python-format
+msgid "Inject key fs=%(fs)s net=%(net)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:491
+#, python-format
+msgid "Inject admin password fs=%(fs)s admin_passwd=<SANITIZED>"
+msgstr ""
+
+#: nova/virt/disk/api.py:535
+msgid "Not implemented on Windows"
+msgstr ""
+
+#: nova/virt/disk/api.py:564
+#, python-format
+msgid "User %(username)s not found in password file."
+msgstr ""
+
+#: nova/virt/disk/api.py:580
+#, python-format
+msgid "User %(username)s not found in shadow file."
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:41
+#, python-format
+msgid ""
+"Instance for format imgfile=%(imgfile)s mountdir=%(mountdir)s "
+"partition=%(partition)s imgfmt=%(imgfmt)s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
+#: nova/virt/disk/vfs/localfs.py:68
+msgid "Using LoopMount"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
+#: nova/virt/disk/vfs/localfs.py:73
+msgid "Using NbdMount"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:57
+#, python-format
+msgid ""
+"Instance for device imgfile=%(imgfile)s mountdir=%(mountdir)s "
+"partition=%(partition)s device=%(device)s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:117
+msgid "Device allocation failed. Will retry in 2 seconds."
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:120
+msgid "Device allocation failed after repeated retries."
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:135
+#, python-format
+msgid "Map dev %s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:140
+#, python-format
+msgid "partition search unsupported with %s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:156
+#, python-format
+msgid "partition %s not found"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:157
+#, python-format
+msgid "Failed to map partitions: %s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:179
+#, python-format
+msgid "Unmap dev %s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:187
+#, python-format
+msgid "Mount %(dev)s on %(dir)s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:192
+#, python-format
+msgid "Failed to mount filesystem: %s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:203
+#, python-format
+msgid "Umount %s"
+msgstr ""
+
+#: nova/virt/disk/mount/api.py:214
+msgid "Fail to mount, tearing back down"
+msgstr ""
+
+#: nova/virt/disk/mount/loop.py:33
+#, python-format
+msgid "Could not attach image to loopback: %s"
+msgstr ""
+
+#: nova/virt/disk/mount/loop.py:34
+#, python-format
+msgid "Loop mount error: %s"
+msgstr ""
+
+#: nova/virt/disk/mount/loop.py:40
+#, python-format
+msgid "Got loop device %s"
+msgstr ""
+
+#: nova/virt/disk/mount/loop.py:58
+#, python-format
+msgid "Release loop device %s"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:55 nova/virt/disk/mount/nbd.py:69
+msgid "No free nbd devices"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:60
+msgid "nbd module not loaded"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:61
+msgid "nbd unavailable: module not loaded"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:86
+#, python-format
+msgid "Get nbd device %(dev)s for %(imgfile)s"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:91
+#, python-format
+msgid "qemu-nbd error: %s"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:92 nova/virt/disk/mount/nbd.py:105
+#, python-format
+msgid "NBD mount error: %s"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:104
+#, python-format
+msgid "nbd device %s did not show up"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:111
+#, python-format
+msgid "Detaching from erroneous nbd device returned error: %s"
+msgstr ""
+
+#: nova/virt/disk/mount/nbd.py:126
+#, python-format
+msgid "Release nbd device %s"
+msgstr ""
+
+#: nova/virt/disk/vfs/api.py:27
+#, python-format
+msgid ""
+"Instance for image imgfile=%(imgfile)s imgfmt=%(imgfmt)s "
+"partition=%(partition)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/api.py:32
+msgid "Trying to import guestfs"
+msgstr ""
+
+#: nova/virt/disk/vfs/api.py:39
+msgid "Using primary VFSGuestFS"
+msgstr ""
+
+#: nova/virt/disk/vfs/api.py:44
+msgid "Falling back to VFSLocalFS"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:55
+#, python-format
+msgid "Mount guest OS image %(imgfile)s partition %(part)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:64
+#, python-format
+msgid "Inspecting guest OS image %s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:68
+#, python-format
+msgid "No operating system found in %s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:72
+#, python-format
+msgid "Multi-boot OS %(roots)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:74
+#, python-format
+msgid "Multi-boot operating system found in %s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:80
+#, python-format
+msgid "Inspecting guest OS root filesystem %s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:85
+#, python-format
+msgid "No mount points found in %(root)s of %(imgfile)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:90
+#, python-format
+msgid "Mounting %(dev)s at %(dir)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:95
+#, python-format
+msgid "Setting up appliance for %(imgfile)s %(imgfmt)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:113
+#, python-format
+msgid "Error mounting %(imgfile)s with libguestfs (%(e)s)"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:120
+msgid "Tearing down appliance"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:126
+#, python-format
+msgid "Failed to close augeas %s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:134
+#, python-format
+msgid "Failed to shutdown appliance %s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:142
+#, python-format
+msgid "Failed to close guest handle %s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:154 nova/virt/disk/vfs/localfs.py:102
+#, python-format
+msgid "Make directory path=%(path)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:159 nova/virt/disk/vfs/localfs.py:107
+#, python-format
+msgid "Append file path=%(path)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:164 nova/virt/disk/vfs/localfs.py:116
+#, python-format
+msgid "Replace file path=%(path)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:169 nova/virt/disk/vfs/localfs.py:125
+#, python-format
+msgid "Read file path=%(path)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:174 nova/virt/disk/vfs/localfs.py:131
+#, python-format
+msgid "Has file path=%(path)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:183
+#, python-format
+msgid "Set permissions path=%(path)s mode=%(mode)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:188
+#, python-format
+msgid "Set ownership path=%(path)s user=%(user)s group=%(group)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/guestfs.py:201
+#, python-format
+msgid "chown uid=%(uid)d gid=%(gid)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/localfs.py:47
+#, python-format
+msgid "File path %s not valid"
+msgstr ""
+
+#: nova/virt/disk/vfs/localfs.py:82
+#, python-format
+msgid "Failed to mount image %(ex)s)"
+msgstr ""
+
+#: nova/virt/disk/vfs/localfs.py:90
+#, python-format
+msgid "Failed to unmount %(imgdir)s: %(ex)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/localfs.py:96
+#, python-format
+msgid "Failed to remove %(imgdir)s: %(ex)s"
+msgstr ""
+
+#: nova/virt/disk/vfs/localfs.py:139
+#, python-format
+msgid "Set permissions path=%(path)s mode=%(mode)o"
+msgstr ""
+
+#: nova/virt/disk/vfs/localfs.py:144
+#, python-format
+msgid "Set permissions path=%(path)s user=%(user)s group=%(group)s"
+msgstr ""
+
+#: nova/virt/hyperv/basevolumeutils.py:71
+msgid "The ISCSI initiator name can't be found. Choosing the default one"
+msgstr ""
+
+#: nova/virt/hyperv/driver.py:151
+msgid "plug_vifs called"
+msgstr ""
+
+#: nova/virt/hyperv/driver.py:154
+msgid "unplug_vifs called"
+msgstr ""
+
+#: nova/virt/hyperv/driver.py:157
+msgid "ensure_filtering_rules_for_instance called"
+msgstr ""
+
+#: nova/virt/hyperv/driver.py:161
+msgid "unfilter_instance called"
+msgstr ""
+
+#: nova/virt/hyperv/driver.py:192
+msgid "get_console_output called"
+msgstr ""
+
+#: nova/virt/hyperv/hostops.py:93
+#, python-format
+msgid "Windows version: %s "
+msgstr ""
+
+#: nova/virt/hyperv/hostops.py:105
+msgid "get_available_resource called"
+msgstr ""
+
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
+#: nova/virt/xenapi/host.py:148
+msgid "Updating host stats"
+msgstr ""
+
+#: nova/virt/hyperv/hostops.py:161
+msgid "get_host_stats called"
+msgstr ""
+
+#: nova/virt/hyperv/hostops.py:176
+#, python-format
+msgid "Host IP address is: %s"
+msgstr ""
+
+#: nova/virt/hyperv/imagecache.py:49
+#, python-format
+msgid "The image is not a valid VHD: %s"
+msgstr ""
+
+#: nova/virt/hyperv/imagecache.py:70
+#, python-format
+msgid ""
+"Cannot resize the image to a size smaller than the VHD max. internal "
+"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
+msgstr ""
+
+#: nova/virt/hyperv/imagecache.py:85
+#, python-format
+msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/imagecache.py:90
+#, python-format
+msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationops.py:45
+msgid "live_migration called"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationops.py:55
+#, python-format
+msgid "Calling live migration recover_method for instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationops.py:59
+#, python-format
+msgid "Calling live migration post_method for instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationops.py:65
+msgid "pre_live_migration called"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationops.py:78
+msgid "post_live_migration_at_destination called"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationops.py:85
+msgid "check_can_live_migrate_destination called"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationops.py:90
+msgid "check_can_live_migrate_destination_cleanup called"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationops.py:94
+msgid "check_can_live_migrate_source called"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:43
+#, python-format
+msgid "Live migration is not supported on target host \"%s\""
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:46
+#, python-format
+msgid "Target live migration host \"%s\" is unreachable"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:49
+#, python-format
+msgid "Live migration failed: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:61
+msgid "Live migration is not enabled on this host"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:64
+msgid "Live migration networks are not configured on this host"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:70 nova/virt/hyperv/vmutils.py:103
+#, python-format
+msgid "VM not found: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:72 nova/virt/hyperv/vmutils.py:112
+#, python-format
+msgid "Duplicate VM name found: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:77
+#, python-format
+msgid "Destroying existing remote planned VM: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:99
+#, python-format
+msgid "Creating remote planned VM for VM: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:156
+#, python-format
+msgid ""
+"Replacing host resource %(old_disk_path)s with %(new_disk_path)s on "
+"planned VM %(vm_name)s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:165
+#, python-format
+msgid "Updating remote planned VM disk paths for VM: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:201
+#, python-format
+msgid "Starting live migration for VM: %s"
+msgstr ""
+
+#: nova/virt/hyperv/livemigrationutils.py:210
+#, python-format
+msgid "Getting live migration networks for remote host: %s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:50
+msgid "Migration target is the source host"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:52
+#, python-format
+msgid "Migration target host: %s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:73
+#, python-format
+msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:97
+msgid "Cannot cleanup migration files"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:105
+#, python-format
+msgid ""
+"Cannot resize the root disk to a smaller size. Current size: "
+"%(curr_root_gb)s GB. Requested size: %(new_root_gb)s GB"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:113
+msgid "migrate_disk_and_power_off called"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:133
+msgid "confirm_migration called"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:148
+msgid "finish_revert_migration called"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:167
+#, python-format
+msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:173
+#, python-format
+msgid ""
+"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
+"%(diff_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:181
+#, python-format
+msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:195
+#, python-format
+msgid "Getting info for disk: %s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:200
+#, python-format
+msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:212
+#, python-format
+msgid ""
+"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
+"%(diff_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:223
+msgid "finish_migration called"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:232
+#, python-format
+msgid "Cannot find boot VHD file: %s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
+msgid "Cannot resize a VHD to a smaller size"
+msgstr ""
+
+#: nova/virt/hyperv/networkutils.py:46
+#, python-format
+msgid "vswitch \"%s\" not found"
+msgstr ""
+
+#: nova/virt/hyperv/networkutils.py:59
+#, python-format
+msgid "Failed to create vswitch port %(port_name)s on switch %(vswitch_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/pathutils.py:71
+#, python-format
+msgid "The file copy from %(src)s to %(dest)s failed"
+msgstr ""
+
+#: nova/virt/hyperv/pathutils.py:93
+#, python-format
+msgid "Creating directory: %s"
+msgstr ""
+
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
+#, python-format
+msgid "Removing directory: %s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:56
+#, python-format
+msgid "Creating snapshot for instance %s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:65
+#, python-format
+msgid "Getting info for VHD %s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:73
+#, python-format
+msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:84
+#, python-format
+msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:91
+#, python-format
+msgid ""
+"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
+"%(dest_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:99
+#, python-format
+msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:106
+#, python-format
+msgid ""
+"Updating Glance image %(name)s with content from merged disk "
+"%(image_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:113
+#, python-format
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:118
+#, python-format
+msgid "Removing snapshot %s"
+msgstr ""
+
+#: nova/virt/hyperv/snapshotops.py:122
+#, python-format
+msgid "Failed to remove snapshot for VM %s"
+msgstr ""
+
+#: nova/virt/hyperv/vif.py:75
+#, python-format
+msgid "Creating vswitch port for instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:91
+#, python-format
+msgid "VIF driver not found for network_api_class: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:100
+msgid "get_info called for instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:121
+#, python-format
+msgid ""
+"Creating differencing VHD. Parent: %(base_vhd_path)s, Target: "
+"%(root_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:128
+#, python-format
+msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:142
+#, python-format
+msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:157
+msgid "Spawning new instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:183
+msgid "Spawn instance failed"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:208
+#, python-format
+msgid "Creating nic for instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:216
+#, python-format
+msgid "Invalid config_drive_format \"%s\""
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:219
+#, python-format
+msgid "Using config drive for instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
+#, python-format
+msgid "Creating config drive at %(path)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
+#, python-format
+msgid "Creating config drive failed with error: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:276
+#, python-format
+msgid "Got request to destroy instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:289
+#, python-format
+msgid "Instance not found: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:295
+#, python-format
+msgid "Failed to destroy instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:300
+msgid "reboot instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:306
+msgid "Pause instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:312
+msgid "Unpause instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:318
+msgid "Suspend instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:324
+msgid "Resume instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:330
+msgid "Power off instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:336
+msgid "Power on instance"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:343
+#, python-format
+msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:348
+#, python-format
+msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:83
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:160
+#, python-format
+msgid "Creating VM %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:169
+#, python-format
+msgid "Setting memory for vm %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:172
+#, python-format
+msgid "Set vCPUs for vm %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:270
+msgid "Controller not found"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:332
+#, python-format
+msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:374
+#, python-format
+msgid "Operation failed with return value: %s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:392
+#, python-format
+msgid ""
+"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
+" - %(err_desc)s - Error code: %(err_code)d"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:403
+#, python-format
+msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:409
+#, python-format
+msgid "WMI job failed with status %d. No error description available"
+msgstr ""
+
+#: nova/virt/hyperv/vmutils.py:415
+#, python-format
+msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:98
+#, python-format
+msgid ""
+"Already logged in on storage target. No need to login. Portal: "
+"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:104
+#, python-format
+msgid ""
+"Logging in on storage target. Portal: %(target_portal)s, IQN: "
+"%(target_iqn)s, LUN: %(target_lun)s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:119
+#, python-format
+msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:150
+#, python-format
+msgid "Attach volume failed: %s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:152
+#, python-format
+msgid "Unable to attach volume to instance %s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:165
+#, python-format
+msgid "Logging off storage target %s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:170
+#, python-format
+msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:183
+#, python-format
+msgid "Detaching physical disk from instance: %s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
+msgid "Could not determine iscsi initiator name"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
+#, python-format
+msgid "Unable to find a mounted disk for target_iqn: %s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeops.py:207
+#, python-format
+msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
+msgstr ""
+
+#: nova/virt/hyperv/volumeutils.py:51
+#, python-format
+msgid "An error has occurred when calling the iscsi initiator: %s"
+msgstr ""
+
+#: nova/virt/libvirt/blockinfo.py:129
+#, python-format
+msgid "Unable to determine disk prefix for %s"
+msgstr ""
+
+#: nova/virt/libvirt/blockinfo.py:177
+#, python-format
+msgid "No free disk device names for prefix '%s'"
+msgstr ""
+
+#: nova/virt/libvirt/blockinfo.py:269
+#, python-format
+msgid "Unable to determine disk bus for '%s'"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:354
+#, python-format
+msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:565
+#, python-format
+msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:579
+#, python-format
+msgid "Connecting to libvirt: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:597
+#, python-format
+msgid "URI %s does not support events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:607
+#, python-format
+msgid "URI %s does not support connection events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:617
+#, python-format
+msgid "Connection to libvirt lost: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:630
+msgid "Connection to libvirt broke"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
+#, python-format
+msgid "Can not handle authentication request for %d credentials"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:673
+#, python-format
+msgid "Connection to libvirt failed: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:782
+#, python-format
+msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:798
+msgid "During wait destroy, instance disappeared."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:803
+msgid "Instance destroyed successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:813
+msgid "Instance may be started again."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:823
+msgid "Going to destroy instance again."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:842
+msgid "Error from libvirt during undefineFlags. Retrying with undefine"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:858
+#, python-format
+msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:878
+msgid "Instance may be still running, destroy it again."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:884
+#, python-format
+msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:913
+#, python-format
+msgid "Deleting instance files %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:922
+#, python-format
+msgid "Failed to cleanup directory %(target)s: %(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:965
+msgid "Could not determine fibre channel world wide node names"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:972
+msgid "Could not determine fibre channel world wide port names"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1096
+msgid "During detach_volume, instance disappeared."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1120
+msgid "attaching network adapter failed."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1140
+msgid "During detach_interface, instance disappeared."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1144
+msgid "detaching network adapter failed."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1242
+msgid "Beginning live snapshot process"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1245
+msgid "Beginning cold snapshot process"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1274
+msgid "Snapshot extracted, beginning image upload"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1286
+msgid "Snapshot image upload complete"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1352
+msgid "Instance soft rebooted successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1356
+msgid "Failed to soft reboot instance."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1394
+msgid "Instance shutdown successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1402
+msgid "Instance may have been rebooted during soft reboot, so return now."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1451
+msgid "Instance rebooted successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1597
+msgid "Instance is running"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
+msgid "Instance spawned successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1620
+#, python-format
+msgid "data: %(data)r, fpath: %(fpath)r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
+#, python-format
+msgid "Truncated console log returned, %d bytes ignored"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
+msgid "Guest does not have a console available"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1742
+#, python-format
+msgid "Path '%(path)s' supports direct I/O"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1746
+#, python-format
+msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
+#, python-format
+msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1827
+msgid "Creating image"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1928
+msgid "Using config drive"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1981
+#, python-format
+msgid "Injecting %(inj)s into image %(img_id)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1993
+#, python-format
+msgid "Error injecting data into image %(img_id)s (%(e)s)"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2053
+#, python-format
+msgid ""
+"Config requested an explicit CPU model, but the current libvirt "
+"hypervisor '%s' does not support selecting CPU models"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2059
+msgid "Config requested a custom CPU model, but no model name was provided"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2063
+msgid "A CPU model name should not be set when a host CPU model is requested"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2067
+#, python-format
+msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2083
+msgid ""
+"Passthrough of the host CPU was requested but this libvirt version does "
+"not support this feature"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2407
+#, python-format
+msgid ""
+"Start to_xml instance=%(instance)s network_info=%(network_info)s "
+"disk_info=%(disk_info)s image_meta=%(image_meta)s "
+"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2424
+#, python-format
+msgid "End to_xml instance=%(instance)s xml=%(xml)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2442
+#, python-format
+msgid ""
+"Error from libvirt while looking up %(instance_id)s: [Error Code "
+"%(error_code)s] %(ex)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2463
+#, python-format
+msgid ""
+"Error from libvirt while looking up %(instance_name)s: [Error Code "
+"%(error_code)s] %(ex)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
+#, python-format
+msgid "libvirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2679
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2686
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2691
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2708
+msgid ""
+"Cannot get the number of cpu, because this function is not implemented "
+"for this platform. "
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2718
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2770
+#, python-format
+msgid "couldn't obtain the vpu count from domain id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2842
+msgid "libvirt version is too old (does not support getVersion)"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2927
+#, python-format
+msgid "Trying to get stats for the volume %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2940
+#, python-format
+msgid ""
+"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
+"rd_req=%(rd_req)d, rd_bytes=%(rd_bytes)d, wr_req=%(wr_req)d, "
+"wr_bytes=%(wr_bytes)d"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2958
+#, python-format
+msgid ""
+"Getting block stats failed, device might have been detached. "
+"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2964
+#, python-format
+msgid ""
+"Could not find domain in libvirt for instance %s. Cannot get block stats "
+"for device"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3041
+#, python-format
+msgid ""
+"Creating tmpfile %s to verify with other compute node that the instance "
+"is on the same shared storage."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3122
+msgid "Block migration can not be used with shared storage."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3130
+msgid "Live migration can not be used without shared storage."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3174
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s: Disk of instance is too "
+"large(available on destination host:%(available)s < need:%(necessary)s)"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3202
+#, python-format
+msgid ""
+"Instance launched has CPU info:\n"
+"%s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3214
+#, python-format
+msgid ""
+"CPU doesn't have compatibility.\n"
+"\n"
+"%(ret)s\n"
+"\n"
+"Refer to %(u)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3231
+#, python-format
+msgid ""
+"Creating tmpfile %s to notify to other compute nodes that they should "
+"mount the same storage."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3281
+#, python-format
+msgid "The firewall filter for %s does not exist"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3353
+#, python-format
+msgid "Live Migration failure: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3455
+#, python-format
+msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3568
+#, python-format
+msgid ""
+"Error from libvirt while getting description of %(instance_name)s: [Error"
+" Code %(error_code)s] %(ex)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
+#, python-format
+msgid "skipping disk for %s as it does not have a path"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3609
+#, python-format
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3649
+#, python-format
+msgid "Getting disk size of %(i_name)s: %(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3719
+msgid "Starting migrate_disk_and_power_off"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3788
+msgid "Instance running successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3794
+msgid "Starting finish_migration"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3859
+msgid "Starting finish_revert_migration"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3982
+#, python-format
+msgid "Checking instance files accessability %s"
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:51
+msgid ""
+"Libvirt module could not be loaded. NWFilterFirewall will not work "
+"correctly."
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:108
+msgid "Called setup_basic_filtering in nwfilter"
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:116
+msgid "Ensuring static filters"
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:248
+#, python-format
+msgid "The nwfilter(%s) is not found."
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:270
+#, python-format
+msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:288
+msgid "iptables firewall: Setup Basic Filtering"
+msgstr ""
+
+#: nova/virt/libvirt/imagebackend.py:319
+msgid "You should specify libvirt_images_volume_group flag to use LVM images."
+msgstr ""
+
+#: nova/virt/libvirt/imagebackend.py:403
+#, python-format
+msgid "Unknown image_type=%s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:139
+#, python-format
+msgid "Error reading image info file %(filename)s: %(error)s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:178
+#, python-format
+msgid "Reading image info file: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:200
+#, python-format
+msgid "Writing stored info to %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:329
+#, python-format
+msgid "%s is a valid instance name"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:332
+#, python-format
+msgid "%s has a disk file"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:334
+#, python-format
+msgid "Instance %(instance)s is backed by %(backing)s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:347
+#, python-format
+msgid ""
+"Instance %(instance)s is using a backing file %(backing)s which does not "
+"appear in the image service"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:422
+#, python-format
+msgid "image %(id)s at (%(base_file)s): image verification failed"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:432
+#, python-format
+msgid ""
+"image %(id)s at (%(base_file)s): image verification skipped, no hash "
+"stored"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:441
+#, python-format
+msgid "%(id)s (%(base_file)s): generating checksum"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:456
+#, python-format
+msgid "Cannot remove %(base_file)s, it does not exist"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:468
+#, python-format
+msgid "Base file too young to remove: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:471
+#, python-format
+msgid "Removing base file: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:478
+#, python-format
+msgid "Failed to remove %(base_file)s, error was %(error)s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:489
+#, python-format
+msgid "image %(id)s at (%(base_file)s): checking"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:513
+#, python-format
+msgid ""
+"image %(id)s at (%(base_file)s): in use: on this node %(local)d local, "
+"%(remote)d on other nodes sharing this instance storage"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:525
+#, python-format
+msgid ""
+"image %(id)s at (%(base_file)s): warning -- an absent base file is in "
+"use! instances: %(instance_list)s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:537
+#, python-format
+msgid "image %(id)s at (%(base_file)s): image is not in use"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:544
+#, python-format
+msgid "image %(id)s at (%(base_file)s): image is in use"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:568
+#, python-format
+msgid "Skipping verification, no base directory at %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:572
+msgid "Verify base images"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:579
+#, python-format
+msgid "Image id %(id)s yields fingerprint %(fingerprint)s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:597
+#, python-format
+msgid "Unknown base file: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:602
+#, python-format
+msgid "Active base files: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:605
+#, python-format
+msgid "Corrupt base files: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:609
+#, python-format
+msgid "Removable base files: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:617
+msgid "Verification complete"
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
+msgid "systool is not installed"
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:87
+msgid "Cannot find any Fibre Channel HBAs"
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:229
+#, python-format
+msgid ""
+"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
+"available, but %(size)db required by volume %(lv)s."
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:242
+#, python-format
+msgid ""
+"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
+"Virtual volume size is %(size)db, but free space on volume group is only "
+"%(free_space)db."
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:277
+#, python-format
+msgid "vg %s must be LVM volume group"
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:306
+#, python-format
+msgid "Path %s must be LVM logical volume"
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:572
+msgid "Can't retrieve root device path from instance libvirt configuration"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
+#, python-format
+msgid ""
+"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
+"mapping=%(mapping)s"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
+msgid "vif_type parameter must be present for this vif_driver implementation"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
+#, python-format
+msgid "Unexpected vif_type=%s"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:338
+#, python-format
+msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:348
+#, python-format
+msgid "Ensuring bridge %s"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
+msgid "Failed while unplugging vif"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:624
+msgid ""
+"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
+"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
+"together with a network plugin that reports the 'vif_type' attribute"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:651
+msgid ""
+"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
+"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
+"driver, together with a network plugin that reports the 'vif_type' "
+"attribute"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:680
+msgid ""
+"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
+" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
+"driver, together with a network plugin that reports the 'vif_type' "
+"attribute"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:709
+msgid ""
+"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
+"will be removed in the next release. Please use the "
+"LibvirtGenericVIFDriver VIF driver, together with a network plugin that "
+"reports the 'vif_type' attribute"
+msgstr ""
+
+#: nova/virt/libvirt/vif.py:736
+msgid ""
+"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
+"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
+"driver, together with a network plugin that reports the 'vif_type' "
+"attribute"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:240
+#, python-format
+msgid "iSCSI device not found at %s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:243
+#, python-format
+msgid ""
+"ISCSI volume not yet found at: %(disk_dev)s. Will rescan & retry. Try "
+"number: %(tries)s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:256
+#, python-format
+msgid "Found iSCSI node %(disk_dev)s (after %(tries)s rescans)"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:514 nova/virt/libvirt/volume.py:635
+#, python-format
+msgid "%s is already mounted"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:562
+#, python-format
+msgid "AoE device not found at %s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:564
+#, python-format
+msgid "AoE volume not yet found at: %(aoedevpath)s. Try number: %(tries)s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:579
+#, python-format
+msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:706
+msgid "We are unable to locate any Fibre Channel devices"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:715
+#, python-format
+msgid "Looking for Fibre Channel dev %(device)s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:725
+msgid "Fibre Channel device not found."
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:728
+#, python-format
+msgid ""
+"Fibre volume not yet found at: %(mount_device)s. Will rescan & retry. "
+"Try number: %(tries)s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:745
+#, python-format
+msgid "Found Fibre Channel volume %(mount_device)s (after %(tries)s rescans)"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:754
+#, python-format
+msgid "Multipath device discovered %(device)s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:831
+msgid "Value required for 'scality_sofs_config'"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:842
+#, python-format
+msgid "Cannot access 'scality_sofs_config': %s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:848
+msgid "Cannot execute /sbin/mount.sofs"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:863
+msgid "Cannot mount Scality SOFS, check syslog for errors"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:149
+#, python-format
+msgid "Removing the logical volume '%s'"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:167
+#, python-format
+msgid "Fetching image '%s' from glance"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:172
+#, python-format
+msgid "Using image found at '%s'"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:174
+#, python-format
+msgid "Ensuring image '%s' exists on IVM"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:186
+#, python-format
+msgid "Creating logical volume of size %s bytes"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:189
+#, python-format
+msgid "Copying image to the device '%s'"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:192
+msgid "Error while creating logical volume from image. Will attempt cleanup."
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:200
+msgid "Error while attempting cleanup of failed deploy to logical volume."
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:246
+msgid "Snapshot added to glance."
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:252
+#, python-format
+msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:337
+msgid "Could not create logical volume. No space left on any volume group."
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:437 nova/virt/powervm/blockdev.py:517
+msgid "Unable to get checksum"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:444 nova/virt/powervm/blockdev.py:533
+msgid "Image checksums do not match"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:469
+#, python-format
+msgid "Image found on host at '%s'"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:477
+msgid "Uncompressed image file not found"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
+#, python-format
+msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
+#, python-format
+msgid "Found error stream for command \"%(command)s\": %(error_text)s"
+msgstr ""
+
+#: nova/virt/powervm/common.py:67
+msgid "Connection error connecting PowerVM manager"
+msgstr ""
+
+#: nova/virt/powervm/common.py:100
+#, python-format
+msgid "Running cmd (SSH-as-root): %s"
+msgstr ""
+
+#: nova/virt/powervm/common.py:149
+msgid "File transfer to PowerVM manager failed"
+msgstr ""
+
+#: nova/virt/powervm/common.py:168
+#, python-format
+msgid "ftp GET %(remote_path)s to: %(local_path)s"
+msgstr ""
+
+#: nova/virt/powervm/common.py:174
+msgid "File transfer from PowerVM manager failed"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:129
+msgid "In get_host_ip_addr"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:132
+#, python-format
+msgid "Attempting to resolve %s"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:134
+#, python-format
+msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:175
+#, python-format
+msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:308
+#, python-format
+msgid "Unrecognized root disk information: %s"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:21
+msgid "Connection to PowerVM manager failed"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:25
+#, python-format
+msgid "File '%(file_path)s' transfer to PowerVM manager failed"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:29
+#, python-format
+msgid "FTP %(ftp_cmd)s from %(source_path)s to %(dest_path)s failed"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:33
+#, python-format
+msgid "LPAR instance '%(instance_name)s' could not be found"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:37
+#, python-format
+msgid "LPAR instance '%(instance_name)s' creation failed"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:41
+msgid "No space left on any volume group"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:49
+#, python-format
+msgid "Operation '%(operation)s' on LPAR '%(instance_name)s' timed out"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:54
+msgid "Image creation failed on PowerVM"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:58
+#, python-format
+msgid ""
+"Insufficient free memory on PowerVM system to spawn instance "
+"'%(instance_name)s'"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:63
+#, python-format
+msgid ""
+"Insufficient available CPUs on PowerVM system to spawn instance "
+"'%(instance_name)s'"
+msgstr ""
+
+#: nova/virt/powervm/exception.py:68
+#, python-format
+msgid "PowerVM LPAR instance '%(instance_name)s' cleanup failed"
+msgstr ""
+
+#: nova/virt/powervm/lpar.py:55
+#, python-format
+msgid ""
+"Encountered unknown LPAR attribute: %s\n"
+"Continuing without storing"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:98
+#, python-format
+msgid "LPAR instance '%s' not found"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:190
+#, python-format
+msgid "PowerVM image creation failed: %s"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:204
+#, python-format
+msgid "Creating LPAR instance '%s'"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:206
+#, python-format
+msgid "LPAR instance '%s' creation failed"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:212
+#, python-format
+msgid "Activating the LPAR instance '%s'"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:229
+#, python-format
+msgid "Instance '%s' failed to boot"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:241
+msgid "Error while attempting to clean up failed instance launch."
+msgstr ""
+
+#: nova/virt/powervm/operator.py:245
+#, python-format
+msgid "Instance spawned in %s seconds"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:256
+#, python-format
+msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
+msgstr ""
+
+#: nova/virt/powervm/operator.py:275
+#, python-format
+msgid "Stopping instance %s for snapshot."
+msgstr ""
+
+#: nova/virt/powervm/operator.py:298
+#, python-format
+msgid "Shutting down the instance '%s'"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:303
+#, python-format
+msgid "Deleting the LPAR instance '%s'"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:315
+msgid "PowerVM instance cleanup failed"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
+msgid "Not enough free memory in the host"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
+msgid "Insufficient available CPU on PowerVM"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:144
+msgid ""
+"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
+"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
+" vmwareapi.VMwareVCDriver"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
+#, python-format
+msgid "VMware Cluster %s is not found"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:497
+#, python-format
+msgid "In vmwareapi:_create_session, got this exception: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:580
+#, python-format
+msgid "In vmwareapi:_call_method, got this exception: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:616
+#, python-format
+msgid "Task [%(task_name)s] %(task_ref)s status: success"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:621
+#, python-format
+msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:625
+#, python-format
+msgid "In vmwareapi:_poll_task, Got this error %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/error_util.py:93
+#, python-format
+msgid "Error(s) %s occurred in the call to RetrieveProperties"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
+#, python-format
+msgid "%(text)s: _db_content => %(content)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:189
+#, python-format
+msgid "Property %(attr)s not set for the managed object %(name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:591
+msgid "There is no VM registered"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
+#, python-format
+msgid "Virtual Machine with ref %s is not there"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:656
+#, python-format
+msgid "Logging out a session that is invalid or already logged out: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:671
+msgid "Session is faulty"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:674
+msgid "Session Invalid"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:767
+msgid "No Virtual Machine has been registered yet"
+msgstr ""
+
+#: nova/virt/vmwareapi/host.py:40
+#, python-format
+msgid "%(action)s %(host)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/host.py:64
+#, python-format
+msgid "Set maintenance mod on %(host)s to %(mode)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/io_util.py:118
+#, python-format
+msgid "Glance image %s is in killed state"
+msgstr ""
+
+#: nova/virt/vmwareapi/io_util.py:126
+#, python-format
+msgid "Glance image %(image_id)s is in unknown state - %(state)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/network_util.py:135
+msgid ""
+"ESX SOAP server returned an empty port group for the host system in its "
+"response"
+msgstr ""
+
+#: nova/virt/vmwareapi/network_util.py:161
+#, python-format
+msgid "Creating Port Group with name %s on the ESX host"
+msgstr ""
+
+#: nova/virt/vmwareapi/network_util.py:175
+#, python-format
+msgid "Created Port Group with name %s on the ESX host"
+msgstr ""
+
+#: nova/virt/vmwareapi/read_write_util.py:145
+#, python-format
+msgid "Exception during HTTP connection close in VMwareHTTPWrite. Exception is %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vim.py:84
+msgid "Unable to import suds."
+msgstr ""
+
+#: nova/virt/vmwareapi/vim.py:169
+#, python-format
+msgid "No such SOAP method '%s' provided by VI SDK"
+msgstr ""
+
+#: nova/virt/vmwareapi/vim.py:174
+#, python-format
+msgid "httplib error in %s: "
+msgstr ""
+
+#: nova/virt/vmwareapi/vim.py:181
+#, python-format
+msgid "Socket error in %s: "
+msgstr ""
+
+#: nova/virt/vmwareapi/vim.py:186
+#, python-format
+msgid "Type error in %s: "
+msgstr ""
+
+#: nova/virt/vmwareapi/vim.py:190
+#, python-format
+msgid "Exception in %s "
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:92
+msgid "Getting list of instances"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:108
+#, python-format
+msgid "Got total of %s instances"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:199
+msgid "Creating VM on the ESX host"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:207
+msgid "Created VM on the ESX host"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:231
+#, python-format
+msgid ""
+"Creating Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter "
+"type %(adapter_type)s on the ESX host local store %(data_store_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:250
+#, python-format
+msgid ""
+"Created Virtual Disk of size %(vmdk_file_size_in_kb)s KB and type "
+"%(disk_type)s on the ESX host local store %(data_store_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:259
+#, python-format
+msgid ""
+"Deleting the file %(vmdk_path)s on the ESX host localstore "
+"%(data_store_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:273
+#, python-format
+msgid ""
+"Deleted the file %(vmdk_path)s on the ESX host local store "
+"%(data_store_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:281
+#, python-format
+msgid ""
+"Downloading image file data %(image_ref)s to the ESX data store "
+"%(data_store_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:301
+#, python-format
+msgid ""
+"Downloaded image file data %(image_ref)s to %(upload_vmdk_name)s on the "
+"ESX data store %(data_store_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:315
+#, python-format
+msgid ""
+"Copying Virtual Disk of size %(vmdk_file_size_in_kb)s KB and adapter type"
+" %(adapter_type)s on the ESX host local store %(data_store_name)s to disk"
+" type %(disk_type)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:336
+#, python-format
+msgid ""
+"Copied Virtual Disk of size %(vmdk_file_size_in_kb)s KB and type "
+"%(disk_type)s on the ESX host local store %(data_store_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:415
+msgid "Powering on the VM instance"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:421
+msgid "Powered on the VM instance"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:464
+msgid "Creating Snapshot of the VM instance"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:474
+msgid "Created Snapshot of the VM instance"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:519
+msgid "Copying disk data before snapshot of the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:532
+msgid "Copied disk data before snapshot of the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:541
+#, python-format
+msgid "Uploading image %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:555
+#, python-format
+msgid "Uploaded image %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:568
+#, python-format
+msgid "Deleting temporary vmdk file %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:577
+#, python-format
+msgid "Deleted temporary vmdk file %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:606
+msgid "instance is not powered on"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:613
+msgid "Rebooting guest OS of VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:616
+msgid "Rebooted guest OS of VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:618
+msgid "Doing hard reboot of VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:622
+msgid "Did hard reboot of VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
+msgid "Destroying the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
+msgid "Destroyed the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:641
+#, python-format
+msgid "In vmwareapi:vmops:delete, got this exception while destroying the VM: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:675 nova/virt/vmwareapi/vmops.py:821
+msgid "Powering off the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:680 nova/virt/vmwareapi/vmops.py:826
+msgid "Powered off the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:684
+msgid "Unregistering the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:687
+msgid "Unregistered the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:689
+#, python-format
+msgid ""
+"In vmwareapi:vmops:destroy, got this exception while un-registering the "
+"VM: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:702
+#, python-format
+msgid "Deleting contents of the VM from datastore %(datastore_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:714
+#, python-format
+msgid "Deleted contents of the VM from datastore %(datastore_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:719
+#, python-format
+msgid ""
+"In vmwareapi:vmops:destroy, got this exception while deleting the VM "
+"contents from the disk: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:727
+msgid "pause not supported for vmwareapi"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:731
+msgid "unpause not supported for vmwareapi"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:742
+msgid "Suspending the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:746
+msgid "Suspended the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:749
+msgid "instance is powered off and cannot be suspended."
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:752
+msgid "VM was already in suspended state. So returning without doing anything"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:762
+msgid "Resuming the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:767
+msgid "Resumed the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:769
+msgid "instance is not in a suspended state"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:829
+msgid "instance is suspended and cannot be powered off."
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:832
+msgid "VM was already in powered off state. So returning without doing anything"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:843
+msgid "VM was already in powered on state. So returning without doing anything"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:847
+msgid "Powering on the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:852
+msgid "Powered on the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:872
+#, python-format
+msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:901
+#, python-format
+msgid "Renaming the VM to %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:907
+#, python-format
+msgid "Renamed the VM to %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:922
+#, python-format
+msgid "Cloning VM to host %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:930
+#, python-format
+msgid "Cloned VM to host %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:943
+msgid "instance not present"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:954
+#, python-format
+msgid ""
+"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
+" the VM: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:970
+#, python-format
+msgid "Renaming the VM from %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:976
+#, python-format
+msgid "Renamed the VM from %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1001
+#, python-format
+msgid "Migrating VM to host %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1013
+#, python-format
+msgid "Migrated VM to host %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
+#, python-format
+msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1027
+#, python-format
+msgid "Automatically hard rebooting %d"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1061
+msgid "get_diagnostics not implemented for vmwareapi"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
+msgid "Reconfiguring VM instance to set the machine id"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1164
+msgid "Reconfigured VM instance to set the machine id"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1176
+#, python-format
+msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1183
+#, python-format
+msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1276
+#, python-format
+msgid "Creating directory with path %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1282
+#, python-format
+msgid "Created directory with path %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:92
+#, python-format
+msgid "Downloading image %s from glance image server"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:108
+#, python-format
+msgid "Downloaded image %s from glance image server"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:114
+#, python-format
+msgid "Uploading image %s to the Glance image server"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:140
+#, python-format
+msgid "Uploaded image %s to the Glance image server"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:151
+#, python-format
+msgid "Getting image size for the image %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:156
+#, python-format
+msgid "Got image size of %(size)s for the image %(image)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volume_util.py:163
+#, python-format
+msgid "Rescanning HBA %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volume_util.py:166
+#, python-format
+msgid "Rescanned HBA %s "
+msgstr ""
+
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
+#, python-format
+msgid "Mountpoint cannot be translated: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:57
+#, python-format
+msgid ""
+"Reconfiguring VM instance %(instance_name)s to attach disk %(vmdk_path)s "
+"or device %(device_name)s with type %(disk_type)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:65
+#, python-format
+msgid ""
+"Reconfigured VM instance %(instance_name)s to attach disk %(vmdk_path)s "
+"or device %(device_name)s with type %(disk_type)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:77
+#, python-format
+msgid "Reconfiguring VM instance %(instance_name)s to detach disk %(disk_key)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:84
+#, python-format
+msgid "Reconfigured VM instance %(instance_name)s to detach disk %(disk_key)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:91
+#, python-format
+msgid "Discovering iSCSI target %(target_iqn)s from %(target_portal)s."
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:96
+msgid "Storage target found. No need to discover"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:104
+#, python-format
+msgid "Discovered iSCSI target %(target_iqn)s from %(target_portal)s."
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:107
+#, python-format
+msgid "Unable to discovered iSCSI target %(target_iqn)s from %(target_portal)s."
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:127
+#, python-format
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:138 nova/virt/vmwareapi/volumeops.py:177
+msgid "Unable to find iSCSI Target"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:156 nova/virt/xenapi/volumeops.py:60
+#, python-format
+msgid "Mountpoint %(mountpoint)s attached to instance %(instance_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:166 nova/virt/xenapi/volumeops.py:132
+#, python-format
+msgid "Detach_volume: %(instance_name)s, %(mountpoint)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:185
+msgid "Unable to find volume"
+msgstr ""
+
+#: nova/virt/vmwareapi/volumeops.py:187 nova/virt/xenapi/volumeops.py:151
+#, python-format
+msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
+#, python-format
+msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
+#, python-format
+msgid ""
+"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
+"args=%(args)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
+#, python-format
+msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:122
+#, python-format
+msgid ""
+"The agent call to %(method)s returned an invalid response: %(ret)r. "
+"args=%(args)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:129
+#, python-format
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:155
+msgid "Querying agent version"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:174
+#, python-format
+msgid "Updating agent to %s"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:183
+#, python-format
+msgid "Unable to update the agent due to: %(exc)s"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:215
+msgid "Setting admin password"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:231
+msgid "Skipping setting of ssh key for Windows."
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:247
+#, python-format
+msgid "Injecting file path: %r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:257
+msgid "Resetting network"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:279
+msgid ""
+"XenServer tools installed in this image are capable of network injection."
+" Networking files will not bemanipulated"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:287
+msgid ""
+"XenServer tools are present in this image but are not capable of network "
+"injection"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:291
+msgid "XenServer tools are not installed in this image"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:305
+msgid "Invalid 'agent_present' value. Falling back to the default."
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:358
+#, python-format
+msgid "OpenSSL error: %s"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:134
+msgid ""
+"Must specify xenapi_connection_url, xenapi_connection_username "
+"(optionally), and xenapi_connection_password to use "
+"compute_driver=xenapi.XenAPIDriver"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:161
+msgid "Failure while cleaning up attached VDIs"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:349
+#, python-format
+msgid "Could not determine key: %s"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:572
+msgid "Host startup on XenServer is not supported."
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:633
+msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:673
+msgid "Host is member of a pool, but DB says otherwise"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
+#, python-format
+msgid "Got exception: %s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
+msgid "Raising NotImplemented"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:714
+#, python-format
+msgid "xenapi.fake does not have an implementation for %s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:747
+#, python-format
+msgid "Calling %(name)s %(impl)s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:753
+#, python-format
+msgid "Calling getter %s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:756
+#, python-format
+msgid "Calling setter %s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:818
+#, python-format
+msgid ""
+"xenapi.fake does not have an implementation for %s or it has been called "
+"with the wrong number of arguments"
+msgstr ""
+
+#: nova/virt/xenapi/host.py:70
+#, python-format
+msgid ""
+"Instance %(name)s running on %(host)s could not be found in the database:"
+" assuming it is a worker VM and skip ping migration to a new host"
+msgstr ""
+
+#: nova/virt/xenapi/host.py:82
+#, python-format
+msgid "Aggregate for host %(host)s count not be found."
+msgstr ""
+
+#: nova/virt/xenapi/host.py:101
+#, python-format
+msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
+msgstr ""
+
+#: nova/virt/xenapi/host.py:185
+#, python-format
+msgid "Failed to extract instance support from %s"
+msgstr ""
+
+#: nova/virt/xenapi/host.py:202
+msgid "Unable to get updated status"
+msgstr ""
+
+#: nova/virt/xenapi/host.py:205
+#, python-format
+msgid "The call to %(method)s returned an error: %(e)s."
+msgstr ""
+
+#: nova/virt/xenapi/network_utils.py:29
+#, python-format
+msgid "Found non-unique network for name_label %s"
+msgstr ""
+
+#: nova/virt/xenapi/network_utils.py:47
+#, python-format
+msgid "Found non-unique network for bridge %s"
+msgstr ""
+
+#: nova/virt/xenapi/network_utils.py:49
+#, python-format
+msgid "Found no network for bridge %s"
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:70
+#, python-format
+msgid ""
+"Aggregate %(aggregate_id)s: unrecoverable state during operation on "
+"%(host)s"
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:158
+#, python-format
+msgid "Unable to eject %s from the pool; pool not empty"
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:175
+#, python-format
+msgid "Unable to eject %s from the pool; No master found"
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:192
+#, python-format
+msgid "Pool-Join failed: %s"
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:195
+#, python-format
+msgid "Unable to join %s in the pool"
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:211
+#, python-format
+msgid "Pool-eject failed: %s"
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:223
+#, python-format
+msgid "Unable to set up pool: %s."
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:234
+#, python-format
+msgid "Pool-set_name_label failed: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vif.py:101
+#, python-format
+msgid "Found no PIF for device %s"
+msgstr ""
+
+#: nova/virt/xenapi/vif.py:120
+#, python-format
+msgid ""
+"PIF %(pif_uuid)s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"Expected %(vlan_num)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:275
+msgid "Created VM"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:287
+msgid "VM destroyed"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:292 nova/virt/xenapi/vm_utils.py:307
+msgid "VM already halted, skipping shutdown..."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:296
+msgid "Shutting down VM (cleanly)"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:311
+msgid "Shutting down VM (hard)"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:349
+#, python-format
+msgid "VBD not found in instance %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:366
+#, python-format
+msgid "VBD %s already detached"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:369
+#, python-format
+msgid "VBD %(vbd_ref)s detach rejected, attempt %(num_attempt)d/%(max_attempts)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:376
+#, python-format
+msgid "Unable to unplug VBD %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:381
+#, python-format
+msgid "Reached maximum number of retries trying to unplug VBD %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:392
+#, python-format
+msgid "Unable to destroy VBD %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:414
+#, python-format
+msgid "Creating %(vbd_type)s-type VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... "
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:418
+#, python-format
+msgid "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:445
+#, python-format
+msgid "Unable to destroy VDI %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:472
+#, python-format
+msgid ""
+"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s)"
+" on %(sr_ref)s."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:488
+msgid "SR not present and could not be introduced"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:513
+#, python-format
+msgid "block device info: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:599
+#, python-format
+msgid "Cloned VDI %(vdi_ref)s from VDI %(vdi_to_clone_ref)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:645
+#, python-format
+msgid "No primary VDI found for %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:657
+msgid "Starting snapshot for VM"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:707
+#, python-format
+msgid "Destroying cached VDI '%(vdi_uuid)s'"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:807
+msgid "Disk must have only one partition."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:815
+#, python-format
+msgid "Disk contains a filesystem we are unable to resize: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:824
+#, python-format
+msgid "Attempted auto_configure_disk failed because: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:973
+#, python-format
+msgid ""
+"Fast cloning is only supported on default local SR of type ext. SR on "
+"this system was found to be of type %s. Ignoring the cow flag."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1028
+#, python-format
+msgid "Unrecognized cache_images value '%s', defaulting to True"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1062
+#, python-format
+msgid "Fetched VDIs of type '%(vdi_type)s' with UUID '%(vdi_uuid)s'"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1075
+#, python-format
+msgid ""
+"download_vhd %(image_id)s, attempt %(attempt_num)d/%(max_attempts)d, "
+"params: %(params)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1089
+#, python-format
+msgid "download_vhd failed: %r"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1124
+#, python-format
+msgid "Invalid value '%s' for xenapi_torrent_images"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1135
+#, python-format
+msgid "Asking xapi to fetch vhd image %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1208
+#, python-format
+msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1226
+#, python-format
+msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1250
+#, python-format
+msgid "Fetching image %(image_id)s, type %(image_type_str)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1264
+#, python-format
+msgid "Size for image %(image_id)s: %(virtual_size)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1274
+#, python-format
+msgid ""
+"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
+"bytes"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1294
+#, python-format
+msgid "Copying VDI %s to /boot/guest on dom0"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1308
+#, python-format
+msgid "Kernel/Ramdisk VDI %s destroyed"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1317
+msgid "Failed to fetch glance image"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1358
+#, python-format
+msgid "Detected %(image_type_str)s format for image %(image_ref)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1389
+#, python-format
+msgid "Looking up vdi %s for PV kernel"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1407
+#, python-format
+msgid ""
+"Image format is None: trying to determine PV status using pygrub; if "
+"instance with vdi %s does not boot correctly, try with image metadata."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1413
+#, python-format
+msgid "Unknown image format %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1444
+#, python-format
+msgid "VDI %s is still available"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1547
+#, python-format
+msgid "Unable to parse rrd of %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1575
+#, python-format
+msgid "Re-scanning SR %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1603
+#, python-format
+msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1621
+msgid ""
+"XenAPI is unable to find a Storage Repository to install guest instances "
+"on. Please check your configuration and/or configure the flag "
+"'sr_matching_filter'"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1634
+msgid "Cannot find SR of content-type ISO"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1642
+#, python-format
+msgid "ISO: looking at SR %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1644
+msgid "ISO: not iso content"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1647
+msgid "ISO: iso content_type, no 'i18n-key' key"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1650
+msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1654
+msgid "ISO: SR MATCHing our criteria"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1656
+msgid "ISO: ISO, looking to see if it is host local"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1659
+#, python-format
+msgid "ISO: PBD %s disappeared"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1662
+#, python-format
+msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1665
+msgid "ISO: SR with local PBD"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1687
+#, python-format
+msgid ""
+"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
+"%(server)s."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1704
+#, python-format
+msgid "Unable to obtain RRD XML updates with server details: %s."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1758
+#, python-format
+msgid "Invalid statistics data from Xenserver: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1818
+#, python-format
+msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1906
+#, python-format
+msgid ""
+"Parent %(parent_uuid)s doesn't match original parent "
+"%(original_parent_uuid)s, waiting for coalesce..."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1918
+#, python-format
+msgid "VHD coalesce attempts exceeded (%d), giving up..."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1953
+#, python-format
+msgid "Timeout waiting for device %s to be created"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1973
+#, python-format
+msgid "Disconnecting stale VDI %s from compute domU"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1986
+#, python-format
+msgid "Plugging VBD %s ... "
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1989
+#, python-format
+msgid "Plugging VBD %s done."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1991
+#, python-format
+msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1995
+#, python-format
+msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2001
+#, python-format
+msgid "Destroying VBD for VDI %s ... "
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2009
+#, python-format
+msgid "Destroying VBD for VDI %s done."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2036
+#, python-format
+msgid "Running pygrub against %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2044
+#, python-format
+msgid "Found Xen kernel %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2046
+msgid "No Xen kernel found. Booting HVM."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2048
+msgid ""
+"Error while executing pygrub! Please, ensure the binary is installed "
+"correctly, and available in your PATH; on some Linux distros, pygrub may "
+"be installed in /usr/lib/xen-X.Y/bin/pygrub. Attempting to boot in HVM "
+"mode."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2065
+msgid "Partitions:"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2071
+#, python-format
+msgid " %(num)s: %(ptype)s %(size)d sectors"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2097
+#, python-format
+msgid ""
+"Writing partition table %(primary_first)d %(primary_last)d to "
+"%(dev_path)s..."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2112
+#, python-format
+msgid "Writing partition table %s done."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2153
+#, python-format
+msgid ""
+"Resize down not allowed because minimum filesystem sectors "
+"%(min_sectors)d is too big for target sectors %(new_sectors)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2196
+#, python-format
+msgid ""
+"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
+"virtual_size=%(virtual_size)d block_size=%(block_size)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2232
+#, python-format
+msgid ""
+"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
+"reduction in size"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2285
+msgid "Manipulating interface files directly"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2294
+#, python-format
+msgid "Failed to mount filesystem (expected for non-linux instances): %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2407
+msgid "This domU must be running on the host specified by xenapi_connection_url"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:141 nova/virt/xenapi/vmops.py:806
+#, python-format
+msgid "Updating progress to %d"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:175
+#, python-format
+msgid "Importing image upload handler: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:190
+msgid "Error: Agent is disabled"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:309
+msgid "Starting instance"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:395
+msgid "Removing kernel/ramdisk files from dom0"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:468
+#, python-format
+msgid "Block device information present: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:499
+msgid "Failed to spawn, rolling back"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:594
+msgid "Auto configuring disk, attempting to resize partition..."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:640
+msgid "Starting VM"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:646
+msgid "Waiting for instance state to become running"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:660
+#, python-format
+msgid ""
+"Latest agent build for %(hypervisor)s/%(os)s/%(architecture)s is "
+"%(version)s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:663
+#, python-format
+msgid "No agent build found for %(hypervisor)s/%(os)s/%(architecture)s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:674
+#, python-format
+msgid "Instance agent version: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:705
+msgid "Setting VCPU weight"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:716
+#, python-format
+msgid "Could not find VM with name %s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:774
+msgid "Finished snapshot and upload for VM"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:778
+#, python-format
+msgid "Migrating VHD '%(vdi_uuid)s' with seq_num %(seq_num)d"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:787
+msgid "Failed to transfer vhd to new host"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:813
+msgid "VM was already shutdown."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:817
+msgid "Clean shutdown did not complete successfully, trying hard shutdown."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:821
+msgid "Unable to terminate instance."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:875
+#, python-format
+msgid "_migrate_disk_resizing_down failed. Restoring orig vm due_to: %s."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:991
+#, python-format
+msgid "Resizing up VDI %(vdi_uuid)s from %(old_gb)dGB to %(new_gb)dGB"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:998
+msgid "Resize complete"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1043
+msgid "Starting halted instance found during reboot"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1049
+msgid ""
+"Reboot failed due to bad volumes, detaching bad volumes and starting "
+"halted instance"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1151
+msgid "Unable to find root VBD/VDI for VM"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1155
+msgid "Destroying VDIs"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1182
+msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1189
+msgid "instance has a kernel or ramdisk but not both"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1196
+msgid "kernel/ramdisk files removed"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1223
+msgid "Destroying VM"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1252
+msgid "VM is not present, skipping destroy..."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1303
+#, python-format
+msgid "Instance is already in Rescue Mode: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1337
+msgid "VM is not present, skipping soft delete..."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1390
+msgid "Automatically hard rebooting"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1540
+msgid "Injecting network info to xenstore"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1562
+msgid "Creating vifs"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1571
+#, python-format
+msgid "Creating VIF for network %s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1574
+#, python-format
+msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1603
+msgid "Injecting hostname to xenstore"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1707
+#, python-format
+msgid "Destination host:%s must be in the same aggregate as the source server"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1728
+msgid "No suitable network for migrate"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1740
+msgid "Migrate Receive failed"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1814
+msgid "XAPI supporting relax-xsm-sr-check=true requried"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1825
+msgid "VM.assert_can_migrate failed"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1878
+msgid "Migrate Send failed"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:51
+#, python-format
+msgid "Creating SR %s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:61
+#, python-format
+msgid "Introducing SR %s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:68
+msgid "Creating PBD for SR"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:71
+msgid "Plugging SR"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:82
+msgid "Forgetting SR..."
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:104
+#, python-format
+msgid "Unable to find SR from VBD %s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:121
+#, python-format
+msgid "Ignoring exception %(exc)s when getting PBDs for %(sr_ref)s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:129
+#, python-format
+msgid "Ignoring exception %(exc)s when unplugging PBD %(pbd)s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:153
+#, python-format
+msgid "Unable to introduce VDI on SR %s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:161
+#, python-format
+msgid "Unable to get record of VDI %s on"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:183
+#, python-format
+msgid "Unable to introduce VDI for SR %s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:193
+msgid "Cannot purge SR with referenced VDIs"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
+#, python-format
+msgid "Unable to obtain target information %s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
+#: nova/virt/xenapi/volumeops.py:47
+#, python-format
+msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
+msgstr ""
+
+#: nova/virt/xenapi/volumeops.py:74
+#, python-format
+msgid "Connect_volume: %s"
+msgstr ""
+
+#: nova/virt/xenapi/volumeops.py:143
+#, python-format
+msgid "Skipping detach because VBD for %s was not found"
+msgstr ""
+
+#: nova/virt/xenapi/imageupload/glance.py:69
+#, python-format
+msgid ""
+"Asking xapi to upload to glance %(vdi_uuids)s as ID %(image_id)s glance "
+"server: %(glance_host)s:%(glance_port)d attempt "
+"%(attempt_num)d/%(max_attempts)d"
+msgstr ""
+
+#: nova/virt/xenapi/imageupload/glance.py:87
+#, python-format
+msgid "upload_vhd failed: %r"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:95 nova/vnc/xvp_proxy.py:100
+#, python-format
+msgid "Error in handshake: %s"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:115
+#, python-format
+msgid "Invalid request: %s"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:135
+#, python-format
+msgid "Request: %s"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:138
+#, python-format
+msgid "Request made with missing token: %s"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:148
+#, python-format
+msgid "Request made with invalid token: %s"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:155
+#, python-format
+msgid "Unexpected error: %s"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:175
+#, python-format
+msgid "Starting nova-xvpvncproxy node (version %s)"
+msgstr ""
+
+#: nova/volume/cinder.py:98
+#, python-format
+msgid "Cinderclient connection created using URL: %s"
+msgstr ""
+
+#: nova/volume/cinder.py:229
+msgid "status must be 'in-use'"
+msgstr ""
+
+#: nova/volume/cinder.py:235
+msgid "status must be 'available'"
+msgstr ""
+
+#~ msgid ""
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
+#~ msgstr ""
+
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
+#~ msgstr ""
+
+#~ msgid "Logging off storage target %(target_iqn)s"
+#~ msgstr ""
+
diff --git a/nova/locale/sw_KE/LC_MESSAGES/nova.po b/nova/locale/sw_KE/LC_MESSAGES/nova.po
index 6bfcfb432..bdb55fb20 100644
--- a/nova/locale/sw_KE/LC_MESSAGES/nova.po
+++ b/nova/locale/sw_KE/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Swahili (Kenya) "
@@ -80,298 +80,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1715,261 +1746,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2139,89 +2165,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2269,6 +2313,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2315,21 +2360,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2337,6 +2385,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2361,6 +2411,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2374,14 +2425,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2398,6 +2449,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2414,273 +2466,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2721,6 +2777,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2760,6 +2817,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2852,36 +2910,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2921,32 +2988,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2957,40 +3024,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3024,7 +3098,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3072,7 +3146,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3263,30 +3337,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3298,7 +3378,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3315,16 +3395,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3348,7 +3428,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3407,12 +3487,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3431,152 +3516,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3588,7 +3686,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3621,35 +3719,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3670,312 +3817,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3989,244 +4136,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4290,12 +4437,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4316,653 +4463,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5062,11 +5233,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5082,15 +5253,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5169,7 +5359,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5191,44 +5381,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5259,43 +5449,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5324,47 +5514,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5570,42 +5760,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5725,13 +5915,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5766,151 +5956,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5931,12 +6122,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6139,11 +6330,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6193,11 +6394,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6622,86 +6818,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6736,35 +6929,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6788,7 +6981,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6806,10 +6999,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6857,13 +7063,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7048,59 +7259,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7220,19 +7433,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7242,25 +7455,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7269,7 +7482,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7291,20 +7504,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7323,37 +7536,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7401,85 +7614,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7564,24 +7777,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7591,7 +7804,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7605,22 +7818,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7733,12 +7942,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7991,12 +8200,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8025,23 +8234,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8054,7 +8263,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8073,19 +8282,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8174,17 +8383,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8203,11 +8412,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8231,45 +8440,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8288,12 +8497,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8313,41 +8522,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8373,98 +8582,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8498,29 +8707,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8532,53 +8741,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8608,240 +8817,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8849,75 +9054,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8925,50 +9146,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8978,69 +9199,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9059,15 +9285,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9221,22 +9447,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9244,61 +9470,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9306,7 +9533,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9314,7 +9541,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9322,7 +9549,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9482,12 +9709,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9514,16 +9741,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9533,7 +9760,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9606,105 +9833,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9714,39 +9945,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9958,11 +10189,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10067,100 +10298,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10205,7 +10441,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10281,106 +10517,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10396,54 +10613,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10703,228 +10920,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10932,58 +11149,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11249,11 +11466,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11287,32 +11509,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11330,212 +11552,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/tl/LC_MESSAGES/nova.po b/nova/locale/tl/LC_MESSAGES/nova.po
index dee344927..a744df855 100644
--- a/nova/locale/tl/LC_MESSAGES/nova.po
+++ b/nova/locale/tl/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2011-08-23 11:21+0000\n"
"Last-Translator: Thierry Carrez <thierry.carrez+lp@gmail.com>\n"
"Language-Team: Tagalog <tl@li.org>\n"
@@ -79,298 +79,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, fuzzy, python-format
msgid "Not authorized for image %(image_id)s."
msgstr "walang paraan para sa mensahe: %s"
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -378,85 +378,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -464,896 +464,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "walang paraan para sa mensahe: %s"
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "walang paraan para sa mensahe: %s"
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1368,15 +1389,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1398,17 +1419,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1441,120 +1462,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1568,7 +1599,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1714,261 +1745,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2138,89 +2164,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2268,6 +2312,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2314,21 +2359,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2336,6 +2384,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2360,6 +2410,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2373,14 +2424,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2397,6 +2448,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2413,273 +2465,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2720,6 +2776,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2759,6 +2816,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2851,36 +2909,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2920,32 +2987,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2956,40 +3023,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3023,7 +3097,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3071,7 +3145,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3262,30 +3336,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3297,7 +3377,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3314,16 +3394,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3347,7 +3427,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3406,12 +3486,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3430,152 +3515,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, fuzzy, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr "walang paraan para sa mensahe: %s"
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, fuzzy, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr "walang paraan para sa mensahe: %s"
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3587,7 +3685,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3620,35 +3718,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3669,313 +3816,313 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "natanggap %s"
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3989,244 +4136,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4290,12 +4437,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4316,653 +4463,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5062,11 +5233,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5082,15 +5253,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5169,7 +5359,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5191,44 +5381,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5259,43 +5449,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5324,47 +5514,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5570,42 +5760,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5725,13 +5915,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5766,151 +5956,152 @@ msgstr "natanggap %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5931,12 +6122,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6139,11 +6330,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6193,11 +6394,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6622,86 +6818,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6736,35 +6929,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6788,7 +6981,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6806,10 +6999,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6857,13 +7063,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7048,59 +7259,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7220,19 +7433,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7242,25 +7455,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7269,7 +7482,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7291,20 +7504,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7323,37 +7536,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7401,85 +7614,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7564,24 +7777,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7591,7 +7804,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7605,22 +7818,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7733,12 +7942,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7991,12 +8200,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8025,23 +8234,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8054,7 +8263,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8073,19 +8282,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8174,17 +8383,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8203,11 +8412,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8231,45 +8440,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8288,12 +8497,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8313,41 +8522,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8373,98 +8582,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8498,29 +8707,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8532,53 +8741,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8608,240 +8817,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8849,75 +9054,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8925,50 +9146,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8978,69 +9199,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9059,15 +9285,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9221,22 +9447,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9244,61 +9470,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9306,7 +9533,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9314,7 +9541,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9322,7 +9549,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9482,12 +9709,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9514,16 +9741,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9533,7 +9760,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9606,105 +9833,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9714,39 +9945,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9958,11 +10189,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10067,100 +10298,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10205,7 +10441,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10281,106 +10517,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10396,54 +10613,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10703,228 +10920,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, fuzzy, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr "walang paraan para sa mensahe: %s"
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10932,58 +11149,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11249,11 +11466,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11287,32 +11509,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11330,212 +11552,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/tr/LC_MESSAGES/nova.po b/nova/locale/tr/LC_MESSAGES/nova.po
index e78cc1798..99d3cc982 100644
--- a/nova/locale/tr/LC_MESSAGES/nova.po
+++ b/nova/locale/tr/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2011-12-14 18:10+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Turkish <tr@li.org>\n"
@@ -79,298 +79,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -378,85 +378,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -464,896 +464,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1368,15 +1389,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1398,17 +1419,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1441,120 +1462,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1568,7 +1599,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1714,261 +1745,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2138,89 +2164,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2268,6 +2312,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2314,21 +2359,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2336,6 +2384,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2360,6 +2410,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2373,14 +2424,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2397,6 +2448,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2413,273 +2465,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2720,6 +2776,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2759,6 +2816,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2851,36 +2909,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2920,32 +2987,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2956,40 +3023,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3023,7 +3097,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3071,7 +3145,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3262,30 +3336,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3297,7 +3377,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3314,16 +3394,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3347,7 +3427,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3406,12 +3486,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3430,152 +3515,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3587,7 +3685,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3620,35 +3718,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3669,312 +3816,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3988,244 +4135,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4289,12 +4436,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4315,653 +4462,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5061,11 +5232,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5081,15 +5252,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5168,7 +5358,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5190,44 +5380,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5258,43 +5448,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5323,47 +5513,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5569,42 +5759,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5724,13 +5914,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5765,151 +5955,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5930,12 +6121,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6138,11 +6329,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6192,11 +6393,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6621,86 +6817,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6735,35 +6928,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6787,7 +6980,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6805,10 +6998,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6856,13 +7062,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7047,59 +7258,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7219,19 +7432,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7241,25 +7454,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7268,7 +7481,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7290,20 +7503,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7322,37 +7535,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7400,85 +7613,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7563,24 +7776,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7590,7 +7803,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7604,22 +7817,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7732,12 +7941,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7990,12 +8199,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8024,23 +8233,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8053,7 +8262,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8072,19 +8281,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8173,17 +8382,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8202,11 +8411,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8230,45 +8439,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8287,12 +8496,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8312,41 +8521,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8372,98 +8581,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8497,29 +8706,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8531,53 +8740,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8607,240 +8816,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8848,75 +9053,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8924,50 +9145,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8977,69 +9198,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9058,15 +9284,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9220,22 +9446,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9243,61 +9469,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9305,7 +9532,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9313,7 +9540,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9321,7 +9548,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9481,12 +9708,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9513,16 +9740,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9532,7 +9759,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9605,105 +9832,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9713,39 +9944,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9957,11 +10188,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10066,100 +10297,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10204,7 +10440,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10280,106 +10516,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10395,54 +10612,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10702,228 +10919,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10931,58 +11148,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11248,11 +11465,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11286,32 +11508,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11329,212 +11551,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/tr_TR/LC_MESSAGES/nova.po b/nova/locale/tr_TR/LC_MESSAGES/nova.po
index 2288e0d6d..99e905787 100644
--- a/nova/locale/tr_TR/LC_MESSAGES/nova.po
+++ b/nova/locale/tr_TR/LC_MESSAGES/nova.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-02-02 18:03+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: en_US <LL@li.org>\n"
@@ -81,160 +81,160 @@ msgstr ""
msgid "Flags path: %s"
msgstr "Bayrakların yolu: %s"
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr "Bilinmeyen bir istisna oluÅŸtu."
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, fuzzy, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr "Özel anahtar çözümü başarısız: %s"
-#: nova/exception.py:167
+#: nova/exception.py:169
#, fuzzy, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr "Özel anahtar çözümü başarısız: %s"
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr "Sanal arayüz oluşturma hatası"
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr "Hata. Eşsiz mac adresiyle sanal arayüz oluşturmada 5 kez girişim yapıldı."
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr "Yetkiniz yok."
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr "Kullanıcı yönetici ayrıcalıklarına sahip değil"
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr "%(action)s uygulanmasına izin verilmiyor."
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr "Kabul edilemez parametreler var."
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr "%(volume_id)s bölümü hiçbir şeyle ilişkilendirilmedi"
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr "Anahtar çifti verisi geçersiz"
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr "İstek geçersiz"
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr "Geçersiz giriş yapıldı"
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr "Geçersiz bölüm"
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr "Geçersiz metadata"
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr "Geçersiz port aralığı %(from_port)s:%(to_port)s. %(msg)s"
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "Geçersiz IP %(protocol)s."
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "Geçersiz içerik türü %(content_type)s."
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr "Geçersiz CIDR %(cidr)s."
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr "Hatalar: %(err)s"
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
@@ -243,16 +243,16 @@ msgstr ""
"%(aggregate_id)s üzerinde '%(action)s' eylemi gerçekleştirilemiyor. "
"Nedeni: %(reason)s."
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
@@ -261,116 +261,116 @@ msgstr ""
"%(attr)s %(state)s 'deki %(instance_uuid)s örneği. Örnek bu durumda iken "
"%(method)s yapılamaz."
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "%(instance_id)s örneği çalışmıyor."
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr "%(instance_id)s örneği kurtarma modunda değil"
-#: nova/exception.py:323
+#: nova/exception.py:325
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "%(instance_id)s örneği kurtarma modunda değil"
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr "Örnek kapatmada hata oluştu."
-#: nova/exception.py:335
+#: nova/exception.py:337
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "Örnek kapatmada hata oluştu."
-#: nova/exception.py:339
+#: nova/exception.py:341
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "Örnek kapatmada hata oluştu."
-#: nova/exception.py:343
+#: nova/exception.py:345
#, fuzzy, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr "Tekrar yükleme örneğinde hata oluştu."
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr "Tekrar yükleme örneğinde hata oluştu."
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
#, fuzzy
msgid "Failed to deploy instance"
msgstr "Tekrar yükleme örneğinde hata oluştu."
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr "Şu anda servis kullanılamıyor."
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, fuzzy, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr "Hesaplama servisi şu anda kullanılamıyor."
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr "Mevcut (%(host)s) sunucusundan (%(instance_id)s) örneği geçirilemez."
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr "Desteklenen hypervisor türü geçersiz."
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr "Örnek şu ankinden daha yeni hypervisor versiyonu gerektirir."
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr "Desteklenen disk yolu (%(path)s) halen var,fakat var olmaması gerekir."
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr "Desteklenen cihaz yolu (%(path)s) geçersiz."
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr "Kabul edilemeyen CPU bilgisi"
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr "%(address)s geçerli bir IP v4/6 adresi değildir."
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
@@ -379,7 +379,7 @@ msgstr ""
"VLAN etiketi %(bridge)s port grubu için uygun değil. Beklenen VLAN "
"etiketi %(tag)s'dir, fakat tek iliÅŸkili port grubu %(pgroup)s'dir."
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -390,85 +390,85 @@ msgstr ""
"iliÅŸkilendirilmemiÅŸtir. Beklenen vSwitch %(expected)s'dir, fakat "
"iliÅŸkilendirilen ise %(actual)s'dir."
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr "%(disk_format)s disk formatı kabul edilemez."
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr "%(image_id)s imajı kabul edilemez: %(reason)s"
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr "%(instance_id)s örneği kabul edilemez: %(reason)s"
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr "%(ec2_id)s Ec2 id'si kabul edilemez."
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "Geçersiz CIDR %(cidr)s."
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr "Kaynak bulunamadı."
-#: nova/exception.py:458
+#: nova/exception.py:460
#, fuzzy, python-format
msgid "No agent-build associated with id %(id)s."
msgstr "%(id)s ile iliÅŸkilendirilmiÅŸ bir dinamik IP yok."
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr "%(volume_id)s bölümü bulunamadı."
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr "%(snapshot_id)s sistem anlık görüntüsü bulunamadı."
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr "%(volume_id)s bölümü için hedef id bulunamadı."
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr "%(location)s'da disk yok."
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr "%(driver_type)s bölümü için bir işleyici bulunamadı."
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr "Geçersiz %(image_href)s imaj kaynak dosyası."
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr "%(image_id)s imaj kaynak dosyası bulunamadı."
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -476,65 +476,65 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr "%(project_id)s projesi bulunamadı."
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr "VDI'ya okuma/yazma yapılırken SR(Saklama deposu) bulunamadı."
-#: nova/exception.py:505
+#: nova/exception.py:507
#, fuzzy, python-format
msgid "Network %(network_id)s is duplicated."
msgstr "%(network_id)s ağı bulunamadı."
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr "AÄŸ oluÅŸturulurken %(req)s gereklidir."
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr "%(network_id)s ağı bulunamadı."
-#: nova/exception.py:521
+#: nova/exception.py:523
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "%(snapshot_id)s sistem anlık görüntüsü bulunamadı."
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr " %(bridge)s köprüsü için ağ bulunamadı."
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr "%(uuid)s UUID'si için bir ağ bulunamadı"
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr "%(cidr)s CIDR ile bir ağ bulunamadı."
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr "%(instance_id)s örneği için ağ bulunamadı."
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr "Tanımlı bir ağ yok."
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
@@ -543,239 +543,235 @@ msgstr ""
"%(network_uuid)s aÄŸ UUID verilmedi veya %(project_id)s projesi ile "
"iliÅŸkilendirilmedi."
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr "VM'nin kullandığı veri deposu referansı(ları) bulunamadı."
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "%(instance_id)s örneği için ağ bulunamadı."
-#: nova/exception.py:562
+#: nova/exception.py:564
#, fuzzy, python-format
msgid "No free port available for instance %(instance)s."
msgstr "%(instance_id)s örneği için ağ bulunamadı."
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr "%(id)s ile iliÅŸkilendirilmiÅŸ bir dinamik IP yok."
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr "%(address)s adresi için bir dinamik IP bulunamadı."
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
"%(network_id)s ağında %(host)s ağ sunucusunun hiç dinamik IP'si yok.\n"
" "
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr "(%(network_uuid)s) ağında bir (%(address)s) dinamik IP adresi yok."
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr "%(address)s dinamik IP adresi geçersiz."
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr "Kullanılabilir hiç dinamik IP yok."
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr "Hiç dinamik IP bulunamadı."
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr "%(id)s ID'si için değişken IP bulunamadı."
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr "%(domain)s alanında %(name)s DNS girdisi halen var."
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr "%(address)s adresi için bir değişken IP bulunamadı."
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr " %(host)s sunucusu için bir değişken IP bulunamadı."
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr "Hiç mevcut değişken IP yok."
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr "%(address)s deÄŸiÅŸken IP adresi iliÅŸkilendirildi."
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr "%(address)s deÄŸiÅŸken IP adresi iliÅŸkilendirilemedi."
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr "Hiç değişken IP yok."
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr "%(interface)s arayüzü bulunamadı."
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr "%(user_id)s kullanıcısı için %(name)s anahtar çifti bulunamadı"
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr "%(certificate_id)s sertifikası bulunamadı"
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr "%(service_id)s servisi bulunamadı."
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr "%(host)s sunucusu bulunamadı."
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr "%(host)s hesaplama sunucusu bulunamadı."
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr "%(host)s sunucusunda %(binary)s ikilisi bulunamadı."
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr "Kota bulunamadı."
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr "%(project_id)s projesi için bir kota bulunamadı."
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr "%(security_group_id)s güvenlik grubu bulunamadı."
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
"%(project_id)s projesi için %(security_group_id)s güvenlik grubu "
"bulunamadı."
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr "%(rule_id)s kurallı güvenlik grubu bulunamadı."
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
@@ -784,7 +780,7 @@ msgstr ""
"%(security_group_id)s güvenlik grubu zaten %(instance_id)s örneği ile "
"iliÅŸkilendirimiÅŸ."
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
@@ -793,37 +789,37 @@ msgstr ""
"%(security_group_id)s güvenlik grubu %(instance_id)s örneği ile "
"iliÅŸkilendirilmedi."
-#: nova/exception.py:757
+#: nova/exception.py:755
#, fuzzy, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr "%(rule_id)s kurallı güvenlik grubu bulunamadı."
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr "%(migration_id)s göçü bulunamadı."
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr "%(status)s durumuyla %(instance_id)s örneği için göç bulunamadı."
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr "%(pool_id)s konsol havuzu bulunamadı."
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
@@ -832,104 +828,109 @@ msgstr ""
"%(host)s roxy sunucusundaki %(compute_host)s hesaplama sunucusu için "
"%(console_type)s türünün konsol havuzu bulunamadı."
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr "%(console_id)s konsolu bulunamadı."
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "Geçersiz içerik türü %(content_type)s."
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr "%(instance_type_id)s örnek türü bulunamadı"
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr "%(instance_type_name)s isimli örnek türü bulunamadı."
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr "%(flavor_id)s örnek türü bulunamadı."
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "%(name)s örneği zaten var."
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, fuzzy, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr "%(instance_id)s örneği için ağ bulunamadı."
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr "%(filter_name)s zamanlayıcı sunucu filtresi bulunamadı."
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
@@ -938,453 +939,473 @@ msgstr ""
"%(instance_type_id)s örnek türü %(extra_specs_key)s anahtarı ile ekstra "
"özelliklere sahip değil."
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr "%(file_path)s dosyası bulunamadı."
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr "Hiç dosya bulunamadı."
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
"%(adapter)s ağ bağdaştırıcısı ile ilişkilendirilen sanal anahtar "
"bulunamadı."
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr "%(adapter)s ağ bağdaştırıcısı bulunamadı."
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr "%(class_name)s sınıfı bulunamadı: %(exception)s"
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr "İşlem için izin verilmiyor."
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr "Önceki sistem geri görüntüsüne dönmek için izin verilmiyor."
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr "Yedek imajı geri dönüş parametresi gerekli"
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, fuzzy, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr "%(key_name)s anahtar çifti zaten var."
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr "%(name)s örneği zaten var."
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr "Geçiş hatası."
-#: nova/exception.py:942
+#: nova/exception.py:944
#, fuzzy
msgid "Migration pre-check error"
msgstr "Geçiş hatası."
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr "Hatalı biçimlendirilmiş mesaj gövdesi: %(reason)s"
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr "%(path)s'deki yapılandırma bulunamadı"
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr "Örnek türün belleği istenilen imaj dosyası için çok küçük."
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr "Örnek türünün diski istenilen imaj dosyası için çok küçük."
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr "%(uuid)s hesaplama düğümü başlatmada yetersiz boş hafıza."
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr "Bu sunucu için bant genişliği/cpu/disk ölçümleri alınamadı."
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr "Geçerli bir sunucu bulunamadı: %(reason)s"
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr "Kota aşıldı"
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr "Kişisel dosya limiti aşıldı"
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr "Kişisel dosya yolu çok uzun"
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr "Kişisel dosya içeriği çok uzun"
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr "%(aggregate_id)s kümesi bulunamadı."
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr "%(aggregate_name)s kümesi zaten var."
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr "%(aggregate_id)s kümesi %(host)s sunucusuna sahip değil."
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
"%(aggregate_id)s kümesi %(metadata_key)s. anahtarı ile hiç metadata'sı "
"yok."
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr "%(aggregate_id)s kümesi zaten%(host)s sunucusuna sahip."
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr "Örnek tür oluşturulamıyor."
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr "%(instance_id)s örneği bulunamadı."
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "%(instance_id)s örneği bulunamadı."
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "%(volume_id)s bölümü bulunamadı."
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, fuzzy, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr "%(project_id)s projesi bulunamadı."
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, fuzzy, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr "%(device)s'daki %(instance_id)s örneğine %(volume_id)s birimini bağla"
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, fuzzy, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr "%(user_id)s kullanıcısı için %(name)s anahtar çifti bulunamadı"
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "%(instance_id)s örneği kurtarma modunda değil"
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "%(instance_id)s örneği kurtarma modunda değil"
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "%(name)s örneği zaten var."
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, fuzzy, python-format
msgid "Unsupported object type %(objtype)s"
msgstr "Beklenen nesne türü: %s"
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1399,15 +1420,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr "Yetenekler zamanlayıcısı bildiriliyor ..."
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
#, fuzzy
msgid "Failed to get nw_info"
msgstr "Tekrar yükleme örneğinde hata oluştu."
@@ -1430,17 +1451,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1473,120 +1494,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
+#, python-format
+msgid "Couldn't get IPv4 : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:379
+#, python-format
+msgid "IPv4 address is not found.: %s"
+msgstr ""
+
+#: nova/utils.py:382
+#, python-format
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:397
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "Yerel adres bağlantısı bulunamadı.:%s"
-#: nova/utils.py:337
+#: nova/utils.py:400
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr "Couldn't get Link Local IP of %(interface)s :%(ex)s"
-#: nova/utils.py:376
+#: nova/utils.py:439
#, python-format
msgid "Invalid backend: %s"
msgstr "Geçersiz backend: %s"
-#: nova/utils.py:437
-#, fuzzy, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr "Bilinmeyen temel dosya: %s"
-
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr "Beklenen nesne türü: %s"
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr "Geçersiz server_string: %s"
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr "Zaman Fonksiyonu: %(name)s %(total_time).2f saniye sürdü"
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, fuzzy, python-format
msgid "%s is not a string or unicode"
msgstr "%s güvenlik grubu string veya unicode değil"
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, fuzzy, python-format
msgid "Unable to find cert_file : %s"
msgstr "%r adresini bulmak olanaksız"
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, fuzzy, python-format
msgid "Unable to find ca_file : %s"
msgstr "%r adresini bulmak olanaksız"
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, fuzzy, python-format
msgid "Unable to find key_file : %s"
msgstr "%r adresini bulmak olanaksız"
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr "WSGI sunucusu durduruluyor."
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr "WSGI sunucusu durduruldu."
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr "__call__ fonksiyonunu uygulamalısınız."
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1600,7 +1631,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1749,261 +1780,256 @@ msgstr "Bilinmeyen bir hata oluştu. Lütfen tekrar deneyin."
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr "Desteklenmeyen API isteği: kontrolcü = %(controller)s, işlem = %(action)s"
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr "Bölüm %s'in sistem anlık görüntüsünü oluştur"
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr "%s anahtar çiftini oluştur"
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr "%s anahtarını içeriye aktar"
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr "%s anahtar çiftini sil"
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "Geçersiz IP %(protocol)s."
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr "Belirlenmiş parametreler için hiç kural yok"
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr "%s örneği için konsol çıktısını getir"
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr "%s sistem görüntüsünden birim oluştur"
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr "%s GB'lık birim oluştur"
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr "%(device)s'daki %(instance_id)s örneğine %(volume_id)s birimini bağla"
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "Birimi ayır %s"
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr "Özellik desteklenmiyor: %s"
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr "birim = %s\n"
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr "Adres tahsisi"
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr "%s adresini serbest bırak"
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr "%(instance_id)s örneğine %(public_ip)s adresini ilişkilendir"
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr "Adresi kes %s"
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr "İmaj müsait olmak zorunda"
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr "Örnekleri sonlandırma işlemi başlatılıyor"
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr "%r örneğini tekrar yükle"
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr "Örnekler durdurulacak"
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr "Örnekler başlatılacak"
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr "%s imaj kaydı siliniyor"
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr "%(image_id)s id ile %(image_location)s imajı kaydedildi"
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr "Kullanıcı veya grup belirlenmedi"
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr "Sadece \"all\" grubu destekleniyor"
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr "İşlem türü eklenmek veya kaldırılmak zorunda"
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr "%s imaj tanıtımı güncelleniyor"
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr "%d saniye içinde örnek durdurulamadı"
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2176,89 +2202,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr "Örnek %(attr)s %(state)s'de iken '%(action)s' yapılamaz"
#: nova/api/openstack/common.py:366
+#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
#, fuzzy, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr "Örnek '%(action)s' için geçersiz durumda"
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr "Sistem görüntüsü isteği reddedildi, sistem görüntüleri şu anda devre dışı."
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr "Örnek sistem görüntüleri şu an onaylanmadı."
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr "Yüklenen bölüm: %s"
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr "Ext adı: %s"
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr "Ext takma adı: %s"
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr "Ext açıklaması: %s"
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr "Ext isim uzayı: %s"
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr "Ext güncellendi: %s"
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr "İstisna yükleme uzantısı: %s"
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr "Genişletme yükleniyor: %s"
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr "Genişletme fabrikası çağırılıyor %s"
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr "%(ext_factory)s uzantısı yüklemede hata: %(exc)s"
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr "%(classpath)s uzantısı yüklemede hata: %(exc)s"
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, fuzzy, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr "%(ext_name)s uzantısı yüklemede hata: %(exc)s"
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr "JSON dosyası anlaşılamadı"
@@ -2306,6 +2350,7 @@ msgstr "Böyle bir işlem yok: %s"
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr "Kusurlu istek gövdesi"
@@ -2354,21 +2399,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr "alt sınıflar yapıcı() oluşturmak zorunda!"
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr "Genişletme yöneticisi başlatılıyor"
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2376,6 +2424,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr "İmaj bulunamadı"
@@ -2400,6 +2450,7 @@ msgid "Invalid metadata key"
msgstr "Geçersiz özellik anahtarı"
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2413,14 +2464,14 @@ msgstr "Örnek mevcut değil"
msgid "Instance is not a member of specified network"
msgstr "Örnek belirlenmiş ağın bir üyesi değil"
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr "Bu istek sayı limitlidir."
@@ -2437,6 +2488,7 @@ msgstr "İçerik özelliği bilgisi bulunamadı"
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr "Geçersiz değişiklik-oluşturma değeri"
@@ -2453,282 +2505,286 @@ msgid "Flavor '%s' could not be found "
msgstr "%(flavor_id)s örnek türü bulunamadı."
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr "Örnek bulunamadı."
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr "Yanlış kişisel biçim: %s bulunamadı"
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr "Yanlış kişisel biçim"
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr "%s için kişisel içerik çözümlenemedi"
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr "Yanlış ağ biçimi: ağ UUID'si uygun formatta değil(%s)"
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr "Geçersiz değişken IP adresi (%s)"
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr "Tekrarlanan aÄŸlara (%s) izin verilmiyor"
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr "Yanlış ağ biçimi: %s bulunamadı"
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr "Hatalı ağ biçimi"
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr "Kullanıcı verisi içeriği çözülemez"
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr "IPv4 adresi uygun IPv4 formatında değil"
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr "Sunucu adı tanımlanmadı"
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr "Geçersiz örnek türü sağlayıcısı"
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr "İstenilen imaj dosyası bulunamadı"
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr "Geçersiz anahtar adı verildi."
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
#, fuzzy
msgid "Personality cannot be updated."
msgstr "%s için kişisel içerik çözümlenemedi"
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr "Örnek tekrar boyutlandırılacak şekilde ayarlanmadı."
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
#, fuzzy
msgid "Flavor used by the instance could not be found."
msgstr "%(instance_id)s örneği bulunamadı."
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr "Önyükleme için argüman türü HARD veya SOFT değil"
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr "Önyükleme için tür argümanı eksik"
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr "İstenilen örnek türü konumlandırılamıyor."
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
#, fuzzy
msgid "Image that the instance was started with could not be found."
msgstr "%(instance_id)s örneği bulunamadı."
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
#, fuzzy
msgid "Invalid instance image."
msgstr "%s geçerli bir örnek ismidir"
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr "İmaj referans özelliği eksik"
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr "Geçersiz imaj referansı verildi."
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr "Örnek türü referans özelliği eksik"
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr "Belirlenmiş bir yönetici parolası yok"
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr "Geçersiz yönetici parolası"
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
#, fuzzy
msgid "Unable to set password on instance"
msgstr "Örnek kapatmada hata oluştu."
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr "Çözümlenemeyen metadata anahtar/değer çifti."
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
"Yeniden boyutlandırma isteği geçersiz örnek türü referansı özelliğine "
"sahip."
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
"Yeniden boyutlandırma isteği geçersiz örnek türü referansı özelliği "
"gerektirir."
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr "Geçersiz istek gövdesi"
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr "İstekte bulunulan imaj referansı çözümlenemedi."
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr "Yeniden kurulum için imaj dosyası bulunamadı."
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr "createImage varlığının isim özelliğine ihtiyacı var"
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, fuzzy, python-format
msgid "Removing options '%s' from query"
msgstr "Sorgudan '%(unk_opt_str)s' seçenekleri kaldırılıyor"
@@ -2769,6 +2825,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2809,6 +2866,7 @@ msgstr "yedekOluşturma 'dönüşme' özelliği tamsayı olmak zorunda"
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr "Örnek bulunamadı"
@@ -2904,37 +2962,46 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, fuzzy, python-format
msgid "Cell %(id)s not found."
msgstr "Kural (%s) bulunamadı"
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
#, fuzzy
msgid "Cell name cannot be empty"
msgstr "Güvenlik grup adı boş bırakılamaz"
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr "Sadece kök sertifikası alınabilir."
@@ -2977,34 +3044,34 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
#, fuzzy
msgid "Coverage not running"
msgstr "XVP çalışmıyor..."
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
#, fuzzy
msgid "Invalid path"
msgstr "Geçersiz metadata"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, fuzzy, python-format
msgid "Directory conflict: %s already exists"
msgstr "%s güvenlik grubu zaten var"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, fuzzy, python-format
msgid "Coverage doesn't have %s action"
msgstr "Kümeler %s işlemine sahip değil"
@@ -3015,41 +3082,48 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr "%s 'MANUAL' veya 'AUTO' olmak zorunda"
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
#, fuzzy
msgid "host and onSharedStorage must be specified."
msgstr "Sunucu ve blok_göçü tanımlanmak zorunda."
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, fuzzy, python-format
msgid "Error in evacuate, %s"
msgstr "Göçte hata %s"
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "Kural (%s) bulunamadı"
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3084,7 +3158,7 @@ msgstr "%(address)s deÄŸiÅŸken IP adresi iliÅŸkilendirildi."
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr "Parametre dizini eksik"
@@ -3133,7 +3207,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr "%(address)s deÄŸiÅŸken IP adresi iliÅŸkilendirilemedi."
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3328,30 +3402,36 @@ msgid "Create networks failed"
msgstr "Tanımlı bir ağ yok."
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3363,7 +3443,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr "Bozuk scheduler_hints özelliği"
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr "Geçerli bir kuralı oluşturmak için yeterli parametre yok."
@@ -3382,16 +3462,16 @@ msgstr "%s id'li ağ gösteriliyor"
msgid "security group default rule not found"
msgstr "%(rule_id)s kurallı güvenlik grubu bulunamadı."
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, fuzzy, python-format
msgid "Bad prefix for network in cidr %s"
msgstr "Global ipv6 için yanlış sonek: %s"
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr "Güvenlik grubu belirlenmedi"
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr "Güvenlik grup adı boş bırakılamaz"
@@ -3415,7 +3495,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
#, fuzzy
msgid "Unknown service"
msgstr "Kimlik doğrulama hatası"
@@ -3475,12 +3555,17 @@ msgstr "Yüklenen bölüm: %s"
msgid "Ext version: %i"
msgstr "Ext açıklaması: %s"
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, fuzzy, python-format
msgid "Reserving IP address %s"
msgstr "%s adresini serbest bırak"
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, fuzzy, python-format
msgid "Unreserving IP address %s"
msgstr "%s adresini serbest bırak"
@@ -3499,153 +3584,166 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, fuzzy, python-format
msgid "Running _create_extension_point for %s"
msgstr "Genişletme fabrikası çağırılıyor %s"
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, fuzzy, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr "%(ext_factory)s uzantısı yüklemede hata: %(exc)s"
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "%(instance_id)s örneği için ağ bulunamadı."
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
#, fuzzy
msgid "Got update to delete instance"
msgstr "%(instance_id)s örneği için ağ bulunamadı."
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "%(instance_id)s örneği için ağ bulunamadı."
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3657,7 +3755,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3690,35 +3788,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, fuzzy, python-format
msgid "deployment to node %s failed"
msgstr "eleman çocuk değil"
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3739,323 +3886,323 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, fuzzy, python-format
msgid "error: %s"
msgstr "Veritabanı hatası: %s"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "Başlangıç adresi"
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
#, fuzzy
msgid "No fixed IP found."
msgstr "Hiç dinamik IP bulunamadı."
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, fuzzy, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr "Örnekle değişken IP ilişkilendirilmedi"
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr "id"
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr "IPv4"
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr "IPv6"
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr "Başlangıç adresi"
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr "DNS1"
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr "DNS2"
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr "VlanID"
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr "proje"
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr "uuid"
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "Ağ bulunamadı"
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
#, fuzzy
msgid "UUID is required to delete Quantum Networks"
msgstr "AÄŸ oluÅŸturulurken %(req)s gereklidir."
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "%r örneğini tekrar yükle"
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr "%(service_id)s servisi bulunamadı."
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr "%(service_id)s servisi bulunamadı."
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "BeklenmeyenHata: %s"
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
#, fuzzy
msgid "PROJECT"
msgstr "proje"
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
#, fuzzy
msgid "Must supply valid parameters to create instance_type"
msgstr "Örnek tür oluşturulamıyor."
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "Örnek mevcut değil"
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
#, fuzzy
msgid "Unknown error"
msgstr "Kimlik doğrulama hatası"
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
#, fuzzy
msgid "Valid instance type name is required"
msgstr "%s geçerli bir örnek ismidir"
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Veritabanı hatası: %s"
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "Veritabanı hatası: %s"
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -4069,115 +4216,115 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
#, fuzzy
msgid "instance termination disabled"
msgstr "Örnekleri sonlandırma işlemi başlatılıyor"
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "%(instance_type_id)s örnek türü bulunamadı"
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "Örnekleri sonlandırma işlemi başlatılıyor"
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
@@ -4186,131 +4333,131 @@ msgstr ""
"Eski örnek türü %(current_instance_type_name)s, yeni örnek türü "
"%(new_instance_type_name)s"
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr "Anahtar çifti adı 1-255 karakter arası uzunluğunda olmak zorunda"
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr "%s güvenlik grubu string veya unicode değil"
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr "%s güvenlik grubu boş bırakılamaz."
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr "%s güvenlik grubu 255 karakterden fazla olmamalıdır."
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr "%s güvenlik grubunu oluşturunuz"
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr "%s güvenlik grubu zaten var"
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "Geçersiz güncelleme ayarı: '%s'"
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr "%s güvenlik grubunu siliniz"
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr "Kural (%s) bulunamadı"
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr "Yetkilendirilmiş %s güvenlik grubu girişi"
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr "%s güvenlik grubu girişini iptal et"
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr "Güvenlik grup id'si integer olmak zorunda"
@@ -4374,13 +4521,13 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
-#, fuzzy, python-format
-msgid "'%s' argument must be greater than or equal to 0"
-msgstr "yedekOluşturma 'dönüşme' özelliği tamsayı olmak zorunda"
+#, python-format
+msgid "'%s' argument must be an integer greater than or equal to 0"
+msgstr ""
#: nova/compute/flavors.py:119
msgid "'rxtx_factor' argument must be a positive float"
@@ -4400,577 +4547,601 @@ msgstr "Veritabanı hatası: %s"
msgid "Instance type %s not found for deletion"
msgstr "Silme işlemi için %s örnek türü bulunamadı"
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, fuzzy, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr "Mevcut (%(host)s) sunucusundan (%(instance_id)s) örneği geçirilemez."
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "Tekrar yükleme örneğinde hata oluştu."
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr "Mevcut durum %(drv_state)s, veritabanındaki durum %(db_state)s."
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
#, fuzzy
msgid "Failed to resume instance"
msgstr "Örnek kapatmada hata oluştu."
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr "Misafir sistem sürücüsü güvenlik duvarı kurallarını desteklemiyor"
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "BeklenmeyenHata: %s"
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr "Durum kontrol ediliyor"
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr "%s blok aygıt haritalandırması ayarlanıyor"
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
#, fuzzy
msgid "Instance was deleted during spawn."
msgstr "Örnek oluşturmada hata"
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, fuzzy, python-format
msgid "Error: %s"
msgstr "Veritabanı hatası: %s"
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr "Örnek başlatılıyor.."
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
-msgstr "Ağ kurulumundaki örnek başarısız"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
+msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr "Örnek ağ_bilgisi: |%s|"
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr "Örnek blok aygıtı kurulumu hatalı"
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr "Örnek oluşturmada hata"
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr "Örnek için ağ serbest bırakılıyor"
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "Örnek için ağ serbest bırakılıyor"
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr "%(action_str)s örneği"
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr "DiskBulunamadı yok sayılıyor: %s"
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr "Blok cihazı haritalandırması kapatılıyor %s"
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Birimi ayır %s"
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr "%(num_images)d tane imaj bulundu(dönüş: %(rotation)d)"
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr "Ä°maj siliniyor %s"
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr "Yönetici parolası oluşturmada hata. %s örneği çalışmıyor."
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "Örnek kapatmada hata oluştu."
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "Veritabanı hatası: %s"
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
#, fuzzy
msgid "Instance has no source host"
msgstr "Örneğin hiç bölümü yok."
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr "dedef kaynak ile aynı!"
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
#, fuzzy
msgid "Getting spice console"
msgstr "Konsol ekleniyor"
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr "%(mountpoint)s'de %(volume_id)s bölümü ön yükleniyor"
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr "%(mountpoint)s'e %(volume_id)s bölümü bağlanıyor"
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr "%(mp)s bağlama noktasındaki %(volume_id)s bölümü ayrılıyor"
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "%(mp)s bağlama noktasındaki %(volume_id)s bölümü ayrılıyor"
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "Tekrar yükleme örneğinde hata oluştu."
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr "Bant genişliği kullanım önbelleği güncelleniyor"
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Bant genişliği kullanım önbelleği güncelleniyor"
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr "Sunucu durumu güncelleniyor"
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
@@ -4979,84 +5150,84 @@ msgstr ""
"Veritabanında %(num_db_instances)s ve misafir sistemde "
"%(num_vm_instances)s bulundu"
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr "Silinen örnek kurtarılıyor"
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Ä°maj siliniyor %s"
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5157,11 +5328,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr "%s örneği için sunucu bulma başarısız"
@@ -5177,15 +5348,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr "Konsol ekleniyor"
@@ -5266,7 +5456,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "Tekrar yükleme örneğinde hata oluştu."
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5289,44 +5479,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr "Tanınmayan silinmiş okuma değeri '%s'"
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, fuzzy, python-format
msgid "Invalid floating ip id %s in request"
msgstr "%s geçerli bir örnek ismidir"
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, fuzzy, python-format
msgid "Invalid floating IP %s in request"
msgstr "%s geçerli bir örnek ismidir"
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, fuzzy, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr "%s geçerli bir örnek ismidir"
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, fuzzy, python-format
msgid "Invalid virtual interface address %s in request"
msgstr "%s geçerli bir örnek ismidir"
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "%s geçerli bir örnek ismidir"
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5357,43 +5547,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
#, fuzzy
msgid "Unsupported id columns type"
msgstr "Desteklenmeyen içerik türü"
@@ -5423,47 +5613,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr "Ä°maj siliniyor %s"
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr "%(image_path)si için %(image_location)s indirme işlemi başarısız"
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr "%(image_path)s için %(image_location)s çözümü başarısız"
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr "%(image_path)s için %(image_location)s çıkarma işlemi başarısız"
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr "%(image_path)s için %(image_location)s yükleme işlemi başarısız"
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr "Özel anahtar çözümü başarısız: %s"
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr "Başlatma vektörü çözümü başarısız: %s"
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr "%(image_file)s imaj dosyası çözümü başarısız: %(err)s"
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr "İmajda güvenliksiz dosya isimleri var"
@@ -5670,42 +5860,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr "%d süreç numarası bozuldu, radvd tekrar başlatılıyor"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr "%s VLAN arayüzü başlatılıyor "
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "%s köprüsü koruma altına alınıyor"
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, fuzzy, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr "%(vlan)s vlan ve %(bridge)s köprüsü koruma altına alınıyor"
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5825,13 +6015,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5867,158 +6057,158 @@ msgstr "sil: %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr "miras nw_info için v4 alt ağları gerekiyor"
-#: nova/network/quantumv2/__init__.py:67
-#, fuzzy
-msgid "quantum authentication failed"
-msgstr "Kimlik doğrulama hatası"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
+msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
#, fuzzy
msgid "Port not found"
msgstr "Öğe bulunamadı"
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, fuzzy, python-format
msgid "Quantum Error creating security group %s"
msgstr "%s güvenlik grubunu siliniz"
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, fuzzy, python-format
msgid "Quantum Error updating security group %s"
msgstr "%s güvenlik grubunu siliniz"
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, fuzzy, python-format
msgid "Quantum security group %s not found"
msgstr "%s güvenlik grubunu siliniz"
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "Yakalama hatası: %s"
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
#, fuzzy
msgid "Quantum Error getting security groups"
msgstr "%s güvenlik grubunu siliniz"
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
#, fuzzy
msgid "Security group id should be uuid"
msgstr "Güvenlik grup id'si integer olmak zorunda"
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "%s güvenlik grubunu siliniz"
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
#, fuzzy
msgid "Quantum Error:"
msgstr "Yakalama hatası: %s"
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, fuzzy, python-format
msgid "Quantum security group rule %s not found"
msgstr "%(rule_id)s kurallı güvenlik grubu bulunamadı."
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, fuzzy, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
"%(project_id)s projesi için %(security_group_id)s güvenlik grubu "
"bulunamadı."
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, fuzzy, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -6042,12 +6232,12 @@ msgstr "XVP başlatılırken hata oluştu: %s"
msgid "Invalid version string"
msgstr "Geçersiz server_string: %s"
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6250,11 +6440,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, fuzzy, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr "Bilinmeyen temel dosya: %s"
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr "Veritabanı istisnası yakalandı."
@@ -6304,11 +6504,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6734,86 +6929,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr "Uygun servis çalışıyor mu?"
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr "Başka bir işlem bulunamadı"
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, fuzzy, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr "%(num_instances)d örnek(leri) kurulmaya çalışılıyor."
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, fuzzy, python-format
msgid "Request Spec: %s"
msgstr "Geçersizİstek hatası: %s"
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, fuzzy, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr "%(instance_id)s örneği için ağ bulunamadı."
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr "%(hosts)s filtrelendi"
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, fuzzy, python-format
msgid "Weighed %(hosts)s"
msgstr "%(hosts)s filtrelendi"
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, fuzzy, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr "Mevcut (%(host)s) sunucusundan (%(instance_id)s) örneği geçirilemez."
@@ -6848,36 +7040,36 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr "%s işlem ID'si için servis yok"
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
-#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
-msgstr "%(method)s zamanlaması başarısız: %(ex)s"
-
#: nova/scheduler/scheduler_options.py:71
#, python-format
msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr "%(filename)s dosyası için zamanlayıcı seçenekleri başlatılamadı: '%(e)s'"
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
-msgstr "Zamanlayıcı seçenekleri çözülemedi: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
+msgstr ""
+
+#: nova/scheduler/utils.py:57
+#, python-format
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
+msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
#, python-format
@@ -6900,7 +7092,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6918,10 +7110,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr "VCPU ayarlanamadı, CPU koleksiyonunun bozulduğu varsayılıyor"
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6969,13 +7174,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7163,60 +7373,62 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr "Örnekler çalışıyor: %s"
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr "Örnekleri sonlandırmanın ardından: %s"
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr "İçsel hata"
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr "Zorla öldürülen örneklerin ardından: %s"
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
#, fuzzy
msgid "spawn error"
msgstr "Kimlik doğrulama hatası"
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7340,19 +7552,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr "Konuk aracı benzetmek için %s'de dosyalar oluşturuluyor"
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr "%s'deki benzetilmiş konuk aracı dosyaları kaldırılıyor"
@@ -7362,25 +7574,25 @@ msgstr "%s'deki benzetilmiş konuk aracı dosyaları kaldırılıyor"
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
#, fuzzy
msgid "Unable to load the virtualization driver"
msgstr "Sanallaştırma sürücüsü yükleme başarısız: %s"
@@ -7390,7 +7602,7 @@ msgstr "Sanallaştırma sürücüsü yükleme başarısız: %s"
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7412,20 +7624,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7444,37 +7656,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7525,85 +7737,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "|%s| örneği için değişken IP tahsisi"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, fuzzy, python-format
msgid "PXE deploy started for instance %s"
msgstr "%s örneği için konsol çıktısını getir"
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, fuzzy, python-format
msgid "PXE deploy completed for instance %s"
msgstr "%s örneği için konsol çıktısını getir"
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, fuzzy, python-format
msgid "PXE deploy failed for instance %s"
msgstr "%s örneği için konsol çıktısını getir"
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "%s örneği için konsol çıktısını getir"
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "%s örneği için konsol çıktısını getir"
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "%s örneği için sunucu bulma başarısız"
@@ -7689,24 +7901,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7716,7 +7928,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr "Örnekle değişken IP ilişkilendirilmedi"
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7730,23 +7942,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-#, fuzzy
-msgid "No more PXE IPs available"
-msgstr "Daha fazla deÄŸiÅŸken IP mevcut deÄŸil"
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, fuzzy, python-format
msgid "Baremetal interface %s not found"
msgstr "%(interface)s arayüzü bulunamadı"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, fuzzy, python-format
msgid "Baremetal interface %s already in use"
msgstr "Sanal arayüz oluşturma hatası"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7859,12 +8066,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -8117,12 +8324,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8151,23 +8358,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8180,7 +8387,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8199,19 +8406,19 @@ msgstr "%s adresini serbest bırak"
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8300,17 +8507,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, fuzzy, python-format
msgid "Starting live migration for VM: %s"
msgstr "Güncel göç işlemi %(dest)s'da bir hata ile karşılaştı"
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8329,11 +8536,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8357,45 +8564,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, fuzzy, python-format
msgid "Cannot find boot VHD file: %s"
msgstr "Bilinmeyen temel dosya: %s"
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8414,12 +8621,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, fuzzy, python-format
msgid "Creating directory: %s"
msgstr "oluÅŸtur: %s"
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8439,41 +8646,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8499,101 +8706,101 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
#, fuzzy
msgid "Spawning new instance"
msgstr "Örnek başlatılıyor.."
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
#, fuzzy
msgid "Spawn instance failed"
msgstr "Örnek oluşturmada hata"
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, fuzzy, python-format
msgid "Creating nic for instance: %s"
msgstr "Örnek için ağ serbest bırakılıyor"
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, fuzzy, python-format
msgid "Using config drive for instance: %s"
msgstr "|%s| örneği için değişken IP tahsisi"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, fuzzy, python-format
msgid "Got request to destroy instance: %s"
msgstr "Örnekler durdurulacak"
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, fuzzy, python-format
msgid "Instance not found: %s"
msgstr "Örnek bulunamadı"
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, fuzzy, python-format
msgid "Failed to destroy instance: %s"
msgstr "Tekrar yükleme örneğinde hata oluştu."
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
#, fuzzy
msgid "reboot instance"
msgstr "%r örneğini tekrar yükle"
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8627,29 +8834,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8661,53 +8868,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, fuzzy, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr "%(device)s'daki %(instance_id)s örneğine %(volume_id)s birimini bağla"
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8737,243 +8944,239 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Örnekler durdurulacak"
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Tanımlı bir ağ yok."
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Tanımlı bir ağ yok."
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8981,75 +9184,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -9057,21 +9276,21 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, fuzzy, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
@@ -9080,29 +9299,29 @@ msgstr ""
"Diğer hesaplama düğümlerini haberdar etmek için %s geçici dosyası "
"oluşturuluyor. Düğümler aynı belleğe bağlanmalıdır."
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr "Blok göçü paylaşılan hafıza ile kullanılamaz."
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9117,7 +9336,7 @@ msgstr ""
" \n"
" Bkz: %(u)s"
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
@@ -9126,64 +9345,69 @@ msgstr ""
"Diğer hesaplama düğümlerini haberdar etmek için %s geçici dosyası "
"oluşturuluyor. Düğümler aynı belleğe bağlanmalıdır."
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, fuzzy, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
"plug_vifs() %(cnt)d kez başarısız oldu. %(hostname)s için %(max_retry)d "
"denemeye kadar tekrar deneniyor."
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
#, python-format
-msgid "skipping %(path)s since it looks like volume"
-msgstr "Birim gibi göründüğünden beri %(path)s atlanıyor"
+msgid "skipping %s since it looks like volume"
+msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3609
+#, python-format
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9202,15 +9426,15 @@ msgstr "Durağan filtreler koruma altına alındı"
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
-msgstr "(%(instance_filter_name)s) ağ filtresi bulunamadı."
+msgid "The nwfilter(%s) is not found."
+msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr "%(name)s için (%(instance_filter_name)s) ağ filtresi bulunamadı."
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr "iptabloları güvenlik duvarı: Temel Filtreleme Kurulumu"
@@ -9366,22 +9590,22 @@ msgstr "Taşınabilir temel dosyalar: %s"
msgid "Verification complete"
msgstr "Doğrulama tamamlandı"
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9389,61 +9613,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, fuzzy, python-format
msgid "Unexpected vif_type=%s"
msgstr "Beklenen nesne türü: %s"
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr "%(vlan)s vlan ve %(bridge)s köprüsü koruma altına alınıyor"
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr "%s köprüsü koruma altına alınıyor"
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9451,7 +9676,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9459,7 +9684,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9467,7 +9692,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9628,12 +9853,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9660,16 +9885,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9679,7 +9904,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9752,105 +9977,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, fuzzy, python-format
msgid "VMware Cluster %s is not found"
msgstr " [%s] göstergesi bulunamadı"
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9860,39 +10089,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -10104,11 +10333,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10213,100 +10442,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "%s sistem görüntüsünden birim oluştur"
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "%s sistem görüntüsünden birim oluştur"
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10351,7 +10585,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10429,106 +10663,87 @@ msgstr "Geçersiz bölüm"
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10544,54 +10759,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10851,230 +11066,230 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, fuzzy, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
"İmaj '%(image_id)s' boyut%(size_bytes)d izin verilen örnek "
"%(allowed_size_bytes)d"
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -11082,58 +11297,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11403,11 +11618,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11441,32 +11661,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11486,212 +11706,19 @@ msgstr "İmaj müsait olmak zorunda"
msgid "status must be 'available'"
msgstr "İmaj müsait olmak zorunda"
-#~ msgid "Quota for %s should be integer."
-#~ msgstr "Sürüm tam sayı olmak zorunda"
-
-#~ msgid "Unknown action"
-#~ msgstr "Tanınmayan zincir: %r"
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr "%(volume_id)s bölümü hiçbir şeyle ilişkilendirilmedi"
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr "%(host)s sunucusu bulunamadı."
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr "Güncel göç işlemi %(dest)s'da bir hata ile karşılaştı"
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr "%(dest)s'a örnek göçü işlemi başarıyla tamamlandı."
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
-#~ msgstr ""
-
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "Creating VIF for network %(network_ref)s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
-#~ msgstr "%(device)s'daki %(instance_id)s örneğine %(volume_id)s birimini bağla"
-
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/uk/LC_MESSAGES/nova.po b/nova/locale/uk/LC_MESSAGES/nova.po
index 5f7e9abad..3462cba42 100644
--- a/nova/locale/uk/LC_MESSAGES/nova.po
+++ b/nova/locale/uk/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2011-08-23 11:21+0000\n"
"Last-Translator: Thierry Carrez <thierry.carrez+lp@gmail.com>\n"
"Language-Team: Ukrainian <uk@li.org>\n"
@@ -80,298 +80,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, fuzzy, python-format
msgid "Not authorized for image %(image_id)s."
msgstr "без порÑдку Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ: %s"
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "без порÑдку Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ: %s"
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "без порÑдку Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ: %s"
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1716,262 +1747,257 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, fuzzy, python-format
msgid "%s - This rule already exists in group"
msgstr "Це правило вже Ñ–Ñнує в групі %s"
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr "Створити розділ на %s ГБ"
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "Від'єднати том %s"
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
#, fuzzy
msgid "Detach Volume Failed."
msgstr "Від'єднати том %s"
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr "лише група \"вÑÑ–\" підтримуєтьÑÑ"
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2141,89 +2167,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2271,6 +2315,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2317,21 +2362,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2339,6 +2387,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2363,6 +2413,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2376,14 +2427,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2400,6 +2451,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2416,273 +2468,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2723,6 +2779,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2762,6 +2819,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2854,36 +2912,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2923,32 +2990,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2959,40 +3026,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3026,7 +3100,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3074,7 +3148,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3265,30 +3339,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3300,7 +3380,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3318,16 +3398,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3351,7 +3431,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3410,12 +3490,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3434,152 +3519,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, fuzzy, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr "без порÑдку Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ: %s"
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, fuzzy, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr "без порÑдку Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ: %s"
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3591,7 +3689,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3624,35 +3722,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3673,313 +3820,313 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "отримано %s"
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3993,244 +4140,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr "Вилучити групу безпеки %s"
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4294,12 +4441,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4320,654 +4467,678 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "Від'єднати том %s"
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
#, fuzzy
msgid "Updating volume usage cache"
msgstr "Від'єднати том %s"
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "Від'єднати том %s"
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5067,11 +5238,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5087,15 +5258,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5174,7 +5364,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5196,44 +5386,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5264,43 +5454,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5329,47 +5519,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5575,42 +5765,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5730,13 +5920,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5771,152 +5961,153 @@ msgstr "отримано %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, fuzzy, python-format
msgid "Quantum Error creating security group %s"
msgstr "Вилучити групу безпеки %s"
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, fuzzy, python-format
msgid "Quantum Error updating security group %s"
msgstr "Вилучити групу безпеки %s"
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, fuzzy, python-format
msgid "Quantum security group %s not found"
msgstr "Вилучити групу безпеки %s"
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
#, fuzzy
msgid "Quantum Error getting security groups"
msgstr "Вилучити групу безпеки %s"
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "Вилучити групу безпеки %s"
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5937,12 +6128,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6145,11 +6336,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6199,11 +6400,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6628,86 +6824,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6742,35 +6935,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6794,7 +6987,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6812,10 +7005,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6863,13 +7069,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7054,59 +7265,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7226,19 +7439,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7248,25 +7461,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7275,7 +7488,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7297,20 +7510,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7329,37 +7542,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7407,85 +7620,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7570,24 +7783,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7597,7 +7810,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7611,22 +7824,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7739,12 +7948,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7997,12 +8206,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8031,23 +8240,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8060,7 +8269,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8079,19 +8288,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8180,17 +8389,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8209,11 +8418,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8237,45 +8446,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8294,12 +8503,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, fuzzy, python-format
msgid "Creating directory: %s"
msgstr "Від'єднати том %s"
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, fuzzy, python-format
msgid "Removing directory: %s"
msgstr "Від'єднати том %s"
@@ -8319,41 +8528,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8379,98 +8588,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8504,29 +8713,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8538,53 +8747,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, fuzzy, python-format
msgid "Attach volume failed: %s"
msgstr "Від'єднати том %s"
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8614,240 +8823,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8855,75 +9060,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8931,50 +9152,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8984,69 +9205,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9065,15 +9291,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9227,22 +9453,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9250,61 +9476,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9312,7 +9539,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9320,7 +9547,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9328,7 +9555,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9488,12 +9715,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9520,16 +9747,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9539,7 +9766,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9612,105 +9839,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9720,39 +9951,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9964,11 +10195,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10073,100 +10304,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "Від'єднати том %s"
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "Від'єднати том %s"
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10211,7 +10447,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10287,106 +10523,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10402,54 +10619,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "ÐžÐ³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ Ñ‡ÐµÑ€Ð³Ð¸ %s"
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10709,228 +10926,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, fuzzy, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr "без порÑдку Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ: %s"
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10938,58 +11155,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11256,11 +11473,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11294,32 +11516,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11337,212 +11559,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
-#~ msgstr ""
-
-#~ msgid "List of domains returned by libVirt: %s"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr "Від'єднати том %s"
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/vi_VN/LC_MESSAGES/nova.po b/nova/locale/vi_VN/LC_MESSAGES/nova.po
index bcbe8473e..5f391bc1d 100644
--- a/nova/locale/vi_VN/LC_MESSAGES/nova.po
+++ b/nova/locale/vi_VN/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-05-13 19:22+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Vietnamese (Viet Nam) "
@@ -80,298 +80,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1715,261 +1746,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2139,89 +2165,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2269,6 +2313,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2315,21 +2360,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2337,6 +2385,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2361,6 +2411,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2374,14 +2425,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2398,6 +2449,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2414,273 +2466,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2721,6 +2777,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2760,6 +2817,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2852,36 +2910,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2921,32 +2988,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2957,40 +3024,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3024,7 +3098,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3072,7 +3146,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3263,30 +3337,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3298,7 +3378,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3315,16 +3395,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3348,7 +3428,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3407,12 +3487,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3431,152 +3516,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3588,7 +3686,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3621,35 +3719,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3670,312 +3817,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3989,244 +4136,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4290,12 +4437,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4316,653 +4463,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5062,11 +5233,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5082,15 +5253,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5169,7 +5359,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5191,44 +5381,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5259,43 +5449,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5324,47 +5514,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5570,42 +5760,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5725,13 +5915,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5766,151 +5956,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5931,12 +6122,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6139,11 +6330,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6193,11 +6394,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6622,86 +6818,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6736,35 +6929,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6788,7 +6981,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6806,10 +6999,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6857,13 +7063,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7048,59 +7259,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7220,19 +7433,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7242,25 +7455,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7269,7 +7482,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7291,20 +7504,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7323,37 +7536,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7401,85 +7614,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7564,24 +7777,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7591,7 +7804,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7605,22 +7818,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7733,12 +7942,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7991,12 +8200,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8025,23 +8234,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8054,7 +8263,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8073,19 +8282,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8174,17 +8383,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8203,11 +8412,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8231,45 +8440,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8288,12 +8497,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8313,41 +8522,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8373,98 +8582,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8498,29 +8707,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8532,53 +8741,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8608,240 +8817,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8849,75 +9054,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8925,50 +9146,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8978,69 +9199,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9059,15 +9285,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9221,22 +9447,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9244,61 +9470,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9306,7 +9533,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9314,7 +9541,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9322,7 +9549,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9482,12 +9709,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9514,16 +9741,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9533,7 +9760,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9606,105 +9833,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9714,39 +9945,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9958,11 +10189,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10067,100 +10298,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10205,7 +10441,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10281,106 +10517,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10396,54 +10613,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10703,228 +10920,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10932,58 +11149,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11249,11 +11466,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11287,32 +11509,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11330,212 +11552,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/zh_CN/LC_MESSAGES/nova.po b/nova/locale/zh_CN/LC_MESSAGES/nova.po
index 1ff255406..bc2f0bbce 100644
--- a/nova/locale/zh_CN/LC_MESSAGES/nova.po
+++ b/nova/locale/zh_CN/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2012-05-07 06:51+0000\n"
"Last-Translator: Edward <Unknown>\n"
"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
@@ -81,302 +81,302 @@ msgstr "é‡æ–°å¯åŠ¨å®žä¾‹å¤±è´¥"
msgid "Flags path: %s"
msgstr "标记所在路径:%s"
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr "å‘生未知异常。"
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, fuzzy, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr "解密文本失败"
-#: nova/exception.py:167
+#: nova/exception.py:169
#, fuzzy, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr "解密文本失败"
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr "虚拟接å£åˆ›å»ºå¤±è´¥"
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr "用唯一mac地å€5次å°è¯•åˆ›å»ºè™šæ‹ŸæŽ¥å£å¤±è´¥"
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr "未授æƒã€‚"
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr "用户没有管ç†å‘˜æƒé™"
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr "政策ä¸å…许 %(action)s 被执行。"
-#: nova/exception.py:198
+#: nova/exception.py:200
#, fuzzy, python-format
msgid "Image %(image_id)s is not active."
msgstr "é•œåƒ %(image_id)s 没有找到。"
-#: nova/exception.py:202
+#: nova/exception.py:204
#, fuzzy, python-format
msgid "Not authorized for image %(image_id)s."
msgstr "æ²¡æœ‰ä¸ºé•œåƒ %(image_id)s 找到内核。"
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr "无法接å—çš„å‚数。"
-#: nova/exception.py:211
+#: nova/exception.py:213
#, fuzzy
msgid "Block Device Mapping is Invalid."
msgstr "block_device_mapping %s"
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr "å· %(volume_id)s 没有附加任何东西"
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr "密钥对数æ®æ— æ•ˆ"
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr "请求无效。"
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr "收到无效的输入"
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr "无效的å·"
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr "无效的元数æ®"
-#: nova/exception.py:266
+#: nova/exception.py:268
#, fuzzy
msgid "Invalid metadata size"
msgstr "无效的元数æ®é”®"
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr "无效的端å£èŒƒå›´ %(from_port)s:%(to_port)s. %(msg)s"
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr "无效的IPåè®® %(protocol)s。"
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr "无效的内容类型 %(content_type)s。"
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr "无效的cidr %(cidr)s。"
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr "%(err)s"
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr "无法执行action '%(action)s' 于èšåˆ %(aggregate_id)s 上。原因: %(reason)s。"
-#: nova/exception.py:302
+#: nova/exception.py:304
#, fuzzy, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr "找ä¸åˆ°æœ‰æ•ˆä¸»æœºï¼ŒåŽŸå› æ˜¯ %(reason)s。"
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr "实例 %(instance_uuid)s 处于%(attr)s %(state)s 中。该实例在这ç§çŠ¶æ€ä¸‹ä¸èƒ½æ‰§è¡Œ %(method)s。"
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr "实例 %(instance_id)s 没有è¿è¡Œã€‚"
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr "实例 %(instance_id)s ä¸åœ¨æ•‘æ´æ¨¡å¼ã€‚"
-#: nova/exception.py:323
+#: nova/exception.py:325
#, fuzzy, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr "实例 %(instance_id)s ä¸åœ¨æ•‘æ´æ¨¡å¼ã€‚"
-#: nova/exception.py:327
+#: nova/exception.py:329
#, fuzzy, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr "实例 %(instance_id)s 没有挂起。"
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr "挂起实例失败"
-#: nova/exception.py:335
+#: nova/exception.py:337
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "注入文件失败:%(resp)r"
-#: nova/exception.py:339
+#: nova/exception.py:341
#, fuzzy, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr "设置管ç†å‘˜å¯†ç å¤±è´¥ã€‚实例 %s 没有è¿è¡Œ"
-#: nova/exception.py:343
+#: nova/exception.py:345
#, fuzzy, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr "设置管ç†å‘˜å¯†ç å¤±è´¥ã€‚实例 %s 没有è¿è¡Œ"
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr "é‡æ–°å¯åŠ¨å®žä¾‹å¤±è´¥"
-#: nova/exception.py:351
+#: nova/exception.py:353
#, fuzzy
msgid "Failed to terminate instance"
msgstr "é‡æ–°å¯åŠ¨å®žä¾‹å¤±è´¥"
-#: nova/exception.py:355
+#: nova/exception.py:357
#, fuzzy
msgid "Failed to deploy instance"
msgstr "é‡æ–°å¯åŠ¨å®žä¾‹å¤±è´¥"
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr "此时的付ä¸å¯ç”¨ã€‚"
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, fuzzy, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr "此时的计算æœåŠ¡ä¸å¯ç”¨ã€‚"
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr "无法把实例 (%(instance_id)s) è¿ç§»åˆ°å½“å‰ä¸»æœº (%(host)s)。"
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr "æ供的虚拟机管ç†ç¨‹åºç±»åž‹æ— æ•ˆã€‚"
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr "该实例需è¦æ¯”当å‰ç‰ˆæœ¬æ›´æ–°çš„虚拟机管ç†ç¨‹åºã€‚"
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr "æ供的ç£ç›˜è·¯å¾„ (%(path)s) å·²ç»å­˜åœ¨ï¼Œé¢„计是ä¸å­˜åœ¨çš„。"
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr "æ供的设备路径 (%(path)s) 是无效的。"
-#: nova/exception.py:394
+#: nova/exception.py:396
#, fuzzy, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr "æ供的设备路径 (%(path)s) 是无效的。"
-#: nova/exception.py:399
+#: nova/exception.py:401
#, fuzzy, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr "æ供的设备路径 (%(path)s) 是无效的。"
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr "无法接å—çš„CPUä¿¡æ¯"
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr "%(address)s ä¸æ˜¯æœ‰æ•ˆçš„IP v4/6地å€ã€‚"
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr "VLAN标签对于端å£ç»„%(bridge)s 是ä¸é€‚åˆçš„。预计的VLAN标签是 %(tag)s,但与端å£ç»„å…³è”的是 %(pgroup)s。"
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -386,86 +386,86 @@ msgstr ""
"包å«ç«¯å£ç»„ %(bridge)s çš„vSwitch没有与预计的物ç†é€‚é…器关è”。预计的vSwitch是 %(expected)s,但关è”的是 "
"%(actual)s。"
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr "ç£ç›˜æ ¼å¼ %(disk_format)s ä¸èƒ½æŽ¥å—"
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr "é•œåƒ %(image_id)s 无法接å—,原因是: %(reason)s"
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr "实例 %(instance_id)s 无法接å—,原因是: %(reason)s"
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr "Ec2 id %(ec2_id)s 无法接å—。"
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, fuzzy, python-format
msgid "Invalid ID received %(id)s."
msgstr "无效的cidr %(cidr)s。"
-#: nova/exception.py:448
+#: nova/exception.py:450
#, fuzzy
msgid "Constraint not met."
msgstr "实例 - %s ä¸å­˜åœ¨"
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr "资æºæ²¡æœ‰æ‰¾åˆ°ã€‚"
-#: nova/exception.py:458
+#: nova/exception.py:460
#, fuzzy, python-format
msgid "No agent-build associated with id %(id)s."
msgstr "没有固定IP与id %(id)s å…³è”。"
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr "å· %(volume_id)s 没有找到。"
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr "快照 %(snapshot_id)s 没有找到。"
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr "æ²¡æœ‰ä¸ºå· %(volume_id)s 找到目标id。"
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr "在 %(location)s 没有ç£ç›˜"
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr "无法为 %(driver_type)s å·æ‰¾åˆ°å¥æŸ„。"
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr "无效的镜åƒhref %(image_href)s。"
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr "é•œåƒ %(image_id)s 没有找到。"
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -473,905 +473,926 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr "项目 %(project_id)s 没有找到。"
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr "没有找到存储库æ¥è¯»å†™VDI。"
-#: nova/exception.py:505
+#: nova/exception.py:507
#, fuzzy, python-format
msgid "Network %(network_id)s is duplicated."
msgstr "网络 %(network_id)s 没有找到。"
-#: nova/exception.py:509
+#: nova/exception.py:511
#, fuzzy, python-format
msgid "Network %(network_id)s is still in use."
msgstr "网络 %(network_id)s 没有找到。"
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr "创建网络 %(req)s 是必è¦çš„。"
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr "网络 %(network_id)s 没有找到。"
-#: nova/exception.py:521
+#: nova/exception.py:523
#, fuzzy, python-format
msgid "Port id %(port_id)s could not be found."
msgstr "快照 %(snapshot_id)s 没有找到。"
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr "无法为桥 %(bridge)s 找到网络"
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr "无法为uuid %(uuid)s 找到网络"
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr "无法为cidr %(cidr)s 找到网络。"
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr "无法为实例 %(instance_id)s 找到网络。"
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr "没有网络定义。"
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr "或者网络uuid %(network_uuid)sä¸å­˜åœ¨ï¼Œæˆ–者它没有分é…给项目 %(project_id)s。"
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr "无法找到虚拟机使用的数æ®å­˜å‚¨å¼•ç”¨ã€‚"
-#: nova/exception.py:554
+#: nova/exception.py:556
#, fuzzy, python-format
msgid "Port %(port_id)s is still in use."
msgstr "网络 %(network_id)s 没有找到。"
-#: nova/exception.py:558
+#: nova/exception.py:560
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "无法为实例 %(instance_id)s 找到网络。"
-#: nova/exception.py:562
+#: nova/exception.py:564
#, fuzzy, python-format
msgid "No free port available for instance %(instance)s."
msgstr "无法为实例 %(instance_id)s 找到网络。"
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr "没有固定IP与id %(id)s å…³è”。"
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr "æ²¡æœ‰ä¸ºåœ°å€ %(address)s 找到固定IP。"
-#: nova/exception.py:574
+#: nova/exception.py:576
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr "实例 %(instance_id)s 没有固定ip。"
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr "网络主机 %(host)s 在网络 %(network_id)s 中没有固定ip。"
-#: nova/exception.py:583
+#: nova/exception.py:585
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr "实例 %(instance_id)s 没有固定ip '%(ip)s'。"
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr "固定IPåœ°å€ (%(address)s) 在网络 (%(network_uuid)s) 中ä¸å­˜åœ¨ã€‚"
-#: nova/exception.py:592
+#: nova/exception.py:594
#, fuzzy, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr "固定IPåœ°å€ %(address)s 已在使用。"
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr "固定IPåœ°å€ %(address)s 无效。"
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr "没有固定ipå¯ç”¨ã€‚"
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr "找ä¸åˆ°å›ºå®šIP。"
-#: nova/exception.py:619
+#: nova/exception.py:621
#, fuzzy, python-format
msgid "Floating ip %(address)s already exists."
msgstr "浮动ip %(address)s 已被关è”。"
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr "找ä¸åˆ°é€‚åˆid %(id)s 的浮动IP。"
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr "DNS å…¥å£ %(name)s å·²ç»åœ¨åŸŸä¸­ %(domain)s 存在。"
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr "找ä¸åˆ°é€‚åˆåœ°å€ %(address)s 的浮动ip。"
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr "没有为主机 %(host)s 找到浮动IP。"
-#: nova/exception.py:639
+#: nova/exception.py:641
#, fuzzy, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr "找ä¸åˆ°é€‚åˆåœ°å€ %(address)s 的浮动ip。"
-#: nova/exception.py:643
+#: nova/exception.py:645
#, fuzzy
msgid "Floating ip pool not found."
msgstr "没有找到floating_ip"
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr "没有浮动IPå¯ç”¨ã€‚"
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr "浮动ip %(address)s 已被关è”。"
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr "浮动ip %(address)s 没有被关è”。"
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr "没有浮动ip存在。"
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr "æŽ¥å£ %(interface)s没有找到。"
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr "密钥对 %(name)s 没有为用户 %(user_id)s 找到。"
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr "è¯ä¹¦ %(certificate_id)s 没有找到。"
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr "æœåŠ¡ %(service_id)s 没有找到。"
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr "主机 %(host)s 没有找到。"
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr "计算主机 %(host)s 没有找到。"
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr "没有找到二进制 %(binary)s 在主机 %(host)s 上。"
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr "é…é¢æ²¡æœ‰æ‰¾åˆ°ã€‚"
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr "没有为项目 %(project_id)s 找到é…é¢ã€‚"
-#: nova/exception.py:718
+#: nova/exception.py:716
#, fuzzy, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr "找ä¸åˆ°ç±» %(class_name)s :异常 %(exception)s"
-#: nova/exception.py:722
+#: nova/exception.py:720
#, fuzzy, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr "没有为项目 %(project_id)s 找到é…é¢ã€‚"
-#: nova/exception.py:726
+#: nova/exception.py:724
#, fuzzy, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr "用户 %(user_id)s 没有找到。"
-#: nova/exception.py:730
+#: nova/exception.py:728
#, fuzzy, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr "扩展资æºï¼š%s"
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr "安全组 %(security_group_id)s 没有找到。"
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr "没有找到安全组 %(security_group_id)s 针对项目 %(project_id)s 。"
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr "带有规则 %(rule_id)s 的安全组没有找到。"
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr "安全组 %(security_group_id)s å·²ç»ä¸Žå®žä¾‹ %(instance_id)s å…³è”。"
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr "安全组 %(security_group_id)s 没有与实例 %(instance_id)s å…³è”。"
-#: nova/exception.py:757
+#: nova/exception.py:755
#, fuzzy, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr "带有规则 %(rule_id)s 的安全组没有找到。"
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr "è¿ç§» %(migration_id)s 没有找到。"
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr "没有为实例 %(instance_id)s 找到è¿ç§»å…¶çŠ¶æ€ä¸º %(status)s 。"
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr "控制å°æ±  %(pool_id)s 没有找到。"
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr "没有找到类型是 %(console_type)s 的控制å°æ± é’ˆå¯¹è®¡ç®—主机 %(compute_host)s 在代ç†ä¸»æœº %(host)s 上。"
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr "控制å°%(console_id)s 没有找到。"
-#: nova/exception.py:794
+#: nova/exception.py:792
#, fuzzy, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr "没有为实例 %(instance_id)s 找到控制å°ã€‚"
-#: nova/exception.py:798
+#: nova/exception.py:796
#, fuzzy, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr "没有为实例 %(instance_id)s 在池 %(pool_id)s 中找到控制å°ã€‚"
-#: nova/exception.py:803
+#: nova/exception.py:801
#, fuzzy, python-format
msgid "Invalid console type %(console_type)s"
msgstr "无效的控制å°ç±»åž‹ %(console_type)s "
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr "实例类型 %(instance_type_id)s 没有找到。"
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr "å为 %(instance_type_name)s 的实例类型没有找到。"
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr "类型 %(flavor_id)s 没有找到。"
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, fuzzy, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr "å·ç»„ %s ä¸å­˜åœ¨"
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
#, fuzzy
msgid "Timeout waiting for response from cell"
msgstr "等待RPCå“应超时:%s"
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, fuzzy, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr "没有为实例 %(instance_id)s 找到å·ã€‚"
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr "调度器主机过滤器 %(filter_name)s 没有找到。"
-#: nova/exception.py:861
+#: nova/exception.py:863
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr "实例 %(instance_id)s 没有键为 %(metadata_key)s 的元数æ®ã€‚"
-#: nova/exception.py:866
+#: nova/exception.py:868
#, fuzzy, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr "实例 %(instance_id)s 没有键为 %(metadata_key)s 的元数æ®ã€‚"
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr "实例类型 %(instance_type_id)s 没有é¢å¤–çš„ 键为%(extra_specs_key)s 的规格说明。"
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr "找ä¸åˆ°æ–‡ä»¶ %(file_path)s。"
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr "没找到文件"
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr "未找到与网络适é…器 %(adapter)s å…³è”的虚拟交æ¢æœºã€‚"
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr "未找到网络适é…器 %(adapter)s。"
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr "找ä¸åˆ°ç±» %(class_name)s :异常 %(exception)s"
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr "æ“作ä¸å…许。"
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr "å¿«ç…§ä¸å…许循环。"
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr "备份 image_type è¦æ±‚循环å‚数。"
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, fuzzy, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr "密钥对 %(key_name)s å·²ç»å­˜åœ¨ã€‚"
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr "实例 %(name)s å·²ç»å­˜åœ¨ã€‚"
-#: nova/exception.py:917
+#: nova/exception.py:919
#, fuzzy, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr "实例类型 %(name)s å·²ç»å­˜åœ¨ã€‚"
-#: nova/exception.py:921
+#: nova/exception.py:923
#, fuzzy, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr "实例类型 %(name)s å·²ç»å­˜åœ¨ã€‚"
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, fuzzy, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr "%(path)s 在共享存储上:%(reason)s"
-#: nova/exception.py:934
+#: nova/exception.py:936
#, fuzzy, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr "%(path)s 在共享存储上:%(reason)s"
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr "è¿ç§»é”™è¯¯"
-#: nova/exception.py:942
+#: nova/exception.py:944
#, fuzzy
msgid "Migration pre-check error"
msgstr "è¿ç§»é”™è¯¯"
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr "错误格å¼çš„消æ¯ä½“: %(reason)s"
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr "在 %(path)s 找ä¸åˆ°é…置文件。"
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr "无法从路径 %(path)s 中加载应用 '%(name)s'"
-#: nova/exception.py:960
+#: nova/exception.py:962
#, fuzzy
msgid "When resizing, instances must change flavor!"
msgstr "调整时实例的大å°å¿…é¡»è¦å‘生å˜åŒ–。"
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr "实例类型的内存对于所请求的镜åƒå¤ªå°ã€‚"
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr "实例类型的ç£ç›˜å¯¹äºŽæ‰€è¯·æ±‚çš„é•œåƒå¤ªå°ã€‚"
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr "没有足够的å¯ç”¨å†…å­˜æ¥å¯åŠ¨è®¡ç®—节点 %(uuid)s。"
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr "无法获å–此主机的带宽ã€CPUå’Œç£ç›˜æŒ‡æ ‡ã€‚"
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr "找ä¸åˆ°æœ‰æ•ˆä¸»æœºï¼ŒåŽŸå› æ˜¯ %(reason)s。"
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr "超出é…é¢"
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, fuzzy, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr "%(pid)s å·²ç»è¶…过é…é¢ï¼Œè¯•å›¾è¿è¡Œ %(min_count)s 个实例"
-#: nova/exception.py:1004
+#: nova/exception.py:1006
#, fuzzy
msgid "Maximum number of floating ips exceeded"
msgstr "所选择主机的最大数目(%d)"
-#: nova/exception.py:1008
+#: nova/exception.py:1010
#, fuzzy
msgid "Maximum number of fixed ips exceeded"
msgstr "所选择主机的最大数目(%d)"
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, fuzzy, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr "所选择主机的最大数目(%d)"
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr "超过个性化文件é™åˆ¶"
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr "个性化文件路径太长"
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr "个性化文件内容太长"
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
#, fuzzy
msgid "Maximum number of key pairs exceeded"
msgstr "所选择主机的最大数目(%d)"
-#: nova/exception.py:1032
+#: nova/exception.py:1034
#, fuzzy
msgid "Maximum number of security groups or rules exceeded"
msgstr "所选择主机的最大数目(%d)"
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, fuzzy, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr "èšåˆ %(aggregate_id)s没有主机 %(host)s。"
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr "找ä¸åˆ°èšåˆ %(aggregate_id)s。"
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr "èšåˆ %(aggregate_name)s å·²ç»å­˜åœ¨ã€‚"
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr "èšåˆ %(aggregate_id)s没有主机 %(host)s。"
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr "èšåˆ %(aggregate_id)s 没有键为 %(metadata_key)s 的元数æ®ã€‚"
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr "èšåˆ %(aggregate_id)så·²ç»æœ‰ä¸»æœº %(host)s。"
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr "无法创建实例类型。"
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, fuzzy, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr "设置管ç†å‘˜å¯†ç å¤±è´¥ã€‚实例 %s 没有è¿è¡Œ"
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, fuzzy, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr "检测到已存在的id为%(vlan) vlan"
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr "实例 %(instance_id)s 没有找到。"
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, fuzzy, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr "没有为实例 %(instance_id)s 找到控制å°ã€‚"
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, fuzzy, python-format
msgid "Node %(node_id)s could not be found."
msgstr "å· %(volume_id)s 没有找到。"
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, fuzzy, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr "快照 %(snapshot_id)s 没有找到。"
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, fuzzy, python-format
msgid "Marker %(marker)s could not be found."
msgstr "é•œåƒ %(image_id)s 没有找到。"
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, fuzzy, python-format
msgid "Could not fetch image %(image_id)s"
msgstr "获å–é•œåƒ %(image)s"
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, fuzzy, python-format
msgid "Could not upload image %(image_id)s"
msgstr "获å–é•œåƒ %(image)s"
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, fuzzy, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr "没有为主机 %(host)s 找到浮动IP。"
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, fuzzy, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr "没有找到实例 %(instance_id)s"
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "释放实例的网络"
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, fuzzy, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr "释放实例的网络"
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, fuzzy, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr "æŠŠå· %(volume_id)s 附加到实例 %(instance_id)s 上ä½ç½®åœ¨ %(device)s"
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, fuzzy, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr "密钥对 %(name)s 没有为用户 %(user_id)s 找到。"
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, fuzzy, python-format
msgid "The CA file for %(project)s could not be found"
msgstr "没有为项目 %(project_id)s 找到é…é¢ã€‚"
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, fuzzy, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr "项目 %(project_id)s 没有找到。"
-#: nova/exception.py:1181
+#: nova/exception.py:1187
#, fuzzy
msgid "Instance recreate is not implemented by this virt driver."
msgstr "该驱动ä¸èƒ½æ‰§è¡Œset_admin_password。"
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "实例 %(instance_id)s ä¸åœ¨æ•‘æ´æ¨¡å¼ã€‚"
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "实例 %(instance_id)s ä¸åœ¨æ•‘æ´æ¨¡å¼ã€‚"
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, fuzzy, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr "实例类型 %(name)s å·²ç»å­˜åœ¨ã€‚"
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, fuzzy, python-format
msgid "Unsupported object type %(objtype)s"
msgstr "期望的对象类型:%s"
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1386,15 +1407,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr "å‘调度器通报能力。"
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
#, fuzzy
msgid "Failed to get nw_info"
msgstr "为ip: %s获å–元数æ®å¤±è´¥"
@@ -1417,17 +1438,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1460,120 +1481,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr "回调中debug:%s"
-#: nova/utils.py:334
+#: nova/utils.py:362
+#, python-format
+msgid "Couldn't get IPv4 : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:379
+#, python-format
+msgid "IPv4 address is not found.: %s"
+msgstr ""
+
+#: nova/utils.py:382
+#, python-format
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
+msgstr ""
+
+#: nova/utils.py:397
#, python-format
msgid "Link Local address is not found.:%s"
msgstr "本地IP地å€æ²¡æœ‰æ‰¾åˆ°ï¼š%s"
-#: nova/utils.py:337
+#: nova/utils.py:400
#, python-format
msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
msgstr "无法连接到 %(interface)s 的本地IP:%(ex)s"
-#: nova/utils.py:376
+#: nova/utils.py:439
#, python-format
msgid "Invalid backend: %s"
msgstr "无效的åŽå°ï¼š%s"
-#: nova/utils.py:437
-#, fuzzy, python-format
-msgid "Unknown byte multiplier: %s"
-msgstr "未知的基文件:%s"
-
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr "期望的对象类型:%s"
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr "ä¸æ­£ç¡®çš„server_string:%s"
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr "timefunc:'%(name)s' 用了%(total_time).2f 秒"
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, fuzzy, python-format
msgid "Reloading cached file %s"
msgstr "正在删除基文件:%s"
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, fuzzy, python-format
msgid "Could not remove tmpdir: %s"
msgstr "移除容器失败:%s"
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, fuzzy, python-format
msgid "%s is not a string or unicode"
msgstr "æœåŠ¡å™¨å称ä¸æ˜¯å­—符串或者unicode"
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, fuzzy, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr "密钥对å称长度必须在1到255个字符之间"
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, fuzzy, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr "å¯åŠ¨%(name)s ä½ç½®åœ¨ %(host)s:%(port)s"
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, fuzzy, python-format
msgid "Unable to find cert_file : %s"
msgstr "æ— æ³•æ‰¾åˆ°åœ°å€ %r"
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, fuzzy, python-format
msgid "Unable to find ca_file : %s"
msgstr "æ— æ³•æ‰¾åˆ°åœ°å€ %r"
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, fuzzy, python-format
msgid "Unable to find key_file : %s"
msgstr "æ— æ³•æ‰¾åˆ°åœ°å€ %r"
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr "关闭WSGIæœåŠ¡å™¨"
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr "WSGIæœåŠ¡å™¨å·²ç»åœæ­¢ã€‚"
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr "你必须执行 __call__"
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, fuzzy, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr "无法从路径 %(path)s 中加载应用 '%(name)s'"
@@ -1587,7 +1618,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1734,274 +1765,269 @@ msgstr "å‘生了一个未知的错误. 请é‡è¯•ä½ çš„请求."
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr "ä¸æ”¯æŒçš„API请求:controller = %(controller)s,action = %(action)s"
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr "åˆ›å»ºå· %s çš„å¿«ç…§"
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, fuzzy, python-format
msgid "Could not find key pair(s): %s"
msgstr "解密ç§é’¥å¤±è´¥ï¼š%s"
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr "创建密钥对 %s"
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr "导入密钥 %s"
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr "删除密钥对 %s"
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, fuzzy, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr "å‚æ•°ä¸å¤Ÿåˆ›å»ºæœ‰æ•ˆè§„则。"
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, fuzzy, python-format
msgid "Invalid IP protocol %s."
msgstr "无效的IPåè®® %(protocol)s。"
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr "对给定的å‚数无特定规则。"
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, fuzzy, python-format
msgid "%s - This rule already exists in group"
msgstr "è¿™æ¡è§„则已ç»å­˜åœ¨äºŽç»„%s 中"
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr "获å–实例 %s 控制å°è¾“出"
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr "从快照 %s 创建å·"
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr "创建 %s GBçš„å·"
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
#, fuzzy
msgid "Delete Failed"
msgstr "创建失败"
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr "æŠŠå· %(volume_id)s 附加到实例 %(instance_id)s 上ä½ç½®åœ¨ %(device)s"
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
#, fuzzy
msgid "Attach Failed."
msgstr "创建失败"
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr "åˆ†ç¦»å· %s"
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
#, fuzzy
msgid "Detach Volume Failed."
msgstr "åˆ†ç¦»å· %s"
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr "属性ä¸æ”¯æŒ: %s"
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr "vol = %s\n"
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr "分é…地å€"
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
#, fuzzy
msgid "No more floating IPs available"
msgstr "没有更多的浮动ip。"
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr "é‡Šæ”¾åœ°å€ %s"
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
#, fuzzy
msgid "Unable to release IP Address."
msgstr "æ— æ³•æ‰¾åˆ°åœ°å€ %r"
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr "æŠŠåœ°å€ %(public_ip)s å…³è”到实例 %(instance_id)s"
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
#, fuzzy
msgid "Unable to associate IP Address, no fixed_ips."
msgstr "æ— æ³•æ‰¾åˆ°åœ°å€ %r"
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, fuzzy, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr "存在多个固定IP,使用第一个:%s"
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
#, fuzzy
msgid "Floating ip is already associated."
msgstr "浮动ip %(address)s 已被关è”。"
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
#, fuzzy
msgid "l3driver call to add floating ip failed."
msgstr "没有浮动IPå¯ç”¨ã€‚"
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
#, fuzzy
msgid "Error, unable to associate floating ip."
msgstr "æ— æ³•æ‰¾åˆ°åœ°å€ %r"
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr "å–æ¶ˆåœ°å€ %s çš„å…³è”"
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
#, fuzzy
msgid "Floating ip is not associated."
msgstr "浮动ip %(address)s 没有被关è”。"
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr "é•œåƒå¿…é¡»å¯ç”¨ã€‚"
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr "准备开始终止实例"
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr "é‡å¯å®žä¾‹ %r"
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr "准备åœæ­¢å®žä¾‹"
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr "准备å¯åŠ¨å®žä¾‹"
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr "è§£é™¤é•œåƒ %s 的注册"
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr "用id %(image_id)s æ³¨å†Œé•œåƒ %(image_location)s"
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr "用户或者组没有确定"
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr "仅仅支æŒç»„\"all\""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr "operation_type必须添加或者移除"
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr "æ­£åœ¨æ›´æ–°é•œåƒ %s çš„ publicity 属性"
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr "无法在 %d 秒内åœæ­¢å®žä¾‹"
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
#, fuzzy
msgid "Expecting a list of resources"
msgstr "获å–实例列表"
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
#, fuzzy
msgid "Only instances implemented"
msgstr "实例 - %s ä¸å­˜åœ¨"
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
#, fuzzy
msgid "Expecting a list of tagSets"
msgstr "获å–实例列表"
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
#, fuzzy
msgid "Invalid CIDR"
msgstr "无效的"
@@ -2175,89 +2201,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr "无效的元数æ®"
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr "'%(action)s' 针对处于 %(attr)s %(state)s 的实例是无法进行"
#: nova/api/openstack/common.py:366
+#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
#, fuzzy, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr "实例针对 '%(action)s' 处于无效状æ€"
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr "æ‹’ç»å¿«ç…§è¯·æ±‚,快照当å‰æœªè¢«æ¿€æ´»"
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr "该时刻实例快照是ä¸å…许的。"
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr "加载的扩展:%s"
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr "Ext name: %s"
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr "Ext alias: %s"
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr "Ext æè¿°: %s"
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr "Ext 命å空间: %s"
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr "Ext updated: %s"
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr "加载扩展å‘生异常:%s"
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr "正在加载扩展 %s"
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr "调用扩展工厂 %s"
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr "加载扩展 %(ext_factory)s 失败:%(exc)s"
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr "加载扩展 %(classpath)s 失败:%(exc)s"
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, fuzzy, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr "加载扩展 %(ext_name)s 失败:%(exc)s"
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr "无法ç†è§£JSON"
@@ -2305,6 +2349,7 @@ msgstr "没有该动作:%s"
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr "错误格å¼çš„请求主体"
@@ -2351,21 +2396,24 @@ msgstr "模æ¿æ•°ä¸åŒ¹é…;把slave %(slavetag)s 添加到master %(mastertag)s
msgid "subclasses must implement construct()!"
msgstr "subclasses必须执行construct()!"
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr "正在åˆå§‹åŒ–扩展管ç†å‘˜ã€‚"
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, fuzzy, python-format
msgid "Invalid is_public filter [%s]"
msgstr "用户 %s çš„ç­¾å无效"
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, fuzzy, python-format
msgid "Invalid minRam filter [%s]"
msgstr "用户 %s çš„ç­¾å无效"
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2373,6 +2421,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr "é•œåƒæ²¡æœ‰æ‰¾åˆ°ã€‚"
@@ -2397,6 +2447,7 @@ msgid "Invalid metadata key"
msgstr "无效的元数æ®é”®"
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2410,14 +2461,14 @@ msgstr "实例ä¸å­˜åœ¨"
msgid "Instance is not a member of specified network"
msgstr "实例并ä¸æ˜¯æŒ‡å®šç½‘络的æˆå‘˜"
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr "åªèƒ½æœ‰ %(value)s 个 %(verb)s 请求å‘é€ç»™ %(uri)s é™å®šæ˜¯æ¯ä¸€ä¸ª %(unit_string)s。"
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr "这个请求å—到频率é™åˆ¶ã€‚"
@@ -2434,6 +2485,7 @@ msgstr "元数æ®é¡¹ç›®æœªæ‰¾åˆ°"
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr "无效的changes-since值"
@@ -2451,284 +2503,288 @@ msgid "Flavor '%s' could not be found "
msgstr "主机 %(host)s 没有找到。"
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr "无法找到实例"
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr "错误的个性化格å¼ï¼šä¸¢å¤± %s"
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr "æŸå的个性化格å¼"
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr "个性化 %s 的内容无法解ç "
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
#, fuzzy
msgid "Unknown argment : port"
msgstr "未知的guestmount错误"
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, fuzzy, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr "æŸå的网络格å¼ï¼šç½‘络 uuid æ ¼å¼ä¸æ­£ç¡® (%s)"
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr "æŸå的网络格å¼ï¼šç½‘络 uuid æ ¼å¼ä¸æ­£ç¡® (%s)"
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr "ä¸æ­£ç¡®çš„固定 IP 地å€(%s)"
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr "ä¸å…许é‡å¤çš„网络(%s)"
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr "错误的网络格å¼ï¼šä¸¢å¤±%s"
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr "错误的网络格å¼"
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr "Userdata 内容无法解ç "
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr "accessIPv4 ä¸æ˜¯æ­£ç¡®çš„IPv4æ ¼å¼"
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
#, fuzzy
msgid "accessIPv6 is not proper IPv6 format"
msgstr "accessIPv4 ä¸æ˜¯æ­£ç¡®çš„IPv4æ ¼å¼"
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr "æœåŠ¡å™¨å称未定义"
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr "æ供了无效的flavorRef。"
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
#, fuzzy
msgid "min_count must be an integer value"
msgstr "limit å‚数必须是整数"
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
#, fuzzy
msgid "max_count must be an integer value"
msgstr "limit å‚数必须是整数"
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr "无法找到请求的镜åƒ"
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr "æ供了无效的key_name。"
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
#, fuzzy
msgid "HostId cannot be updated."
msgstr "idä¸èƒ½æ˜¯None"
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
#, fuzzy
msgid "Personality cannot be updated."
msgstr "idä¸èƒ½æ˜¯None"
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr "实例还没有调整大å°ã€‚"
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
#, fuzzy
msgid "Flavor used by the instance could not be found."
msgstr "实例 %(instance_id)s 没有找到。"
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr "é‡å¯çš„å‚æ•°'type'æ—¢ä¸æ˜¯HARD也ä¸æ˜¯SOFT"
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr "缺少é‡å¯çš„å‚æ•°'type'"
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr "无法找到请求的类型。"
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
#, fuzzy
msgid "Resize requires a flavor change."
msgstr "调整大å°éœ€è¦å°ºå¯¸çš„改å˜ã€‚"
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
#, fuzzy
msgid "Image that the instance was started with could not be found."
msgstr "实例 %(instance_id)s 没有找到。"
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
#, fuzzy
msgid "Invalid instance image."
msgstr "%s 是一个正确的实例å称"
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr "缺少属性imageRef"
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr "æ供了无效的imageRef。"
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr "缺少属性flavorRef"
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr "没有确定adminPass"
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr "无效的adminPass"
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
#, fuzzy
msgid "Unable to set password on instance"
msgstr "é‡æ–°å¯åŠ¨å®žä¾‹å¤±è´¥"
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr "无法解æžå…ƒæ•°æ®é”®/值对"
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr "调整大å°è¯·æ±‚中的属性'flavorRef'无效。"
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr "调整大å°è¯·æ±‚è¦æ±‚有属性'flavorRef'。"
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr "无效的请求主体"
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr "无法解æžè¯·æ±‚中的imageRef。"
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr "无法找到用æ¥é‡æ–°åˆ›å»ºçš„é•œåƒ"
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr "实体createImage需è¦å±žæ€§name"
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, fuzzy, python-format
msgid "Removing options '%s' from query"
msgstr "正在从查询语å¥ä¸­ç§»é™¤é€‰é¡¹ '%(unk_opt_str)s'"
@@ -2769,6 +2825,7 @@ msgstr "Compute.api::reset_network %s"
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr "没有找到æœåŠ¡å™¨"
@@ -2809,6 +2866,7 @@ msgstr "createBackup的属性 'rotation'必须是整数"
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr "没有找到实例"
@@ -2905,38 +2963,47 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, fuzzy, python-format
msgid "Cell %(id)s not found."
msgstr "没有找到规则 (%s)"
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
#, fuzzy
msgid "Cell name cannot be empty"
msgstr "安全组å称ä¸èƒ½æ˜¯ç©º"
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
#, fuzzy
msgid "No cell information in request"
msgstr "block_device_mapping %s"
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr "åªæœ‰æ ¹è¯ä¹¦èƒ½è¢«èŽ·å–。"
@@ -2978,34 +3045,34 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
#, fuzzy
msgid "Coverage not running"
msgstr "xvpä¸åœ¨è¿è¡Œä¸­"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
#, fuzzy
msgid "Invalid path"
msgstr "无效的快照"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, fuzzy, python-format
msgid "Directory conflict: %s already exists"
msgstr "安全组 %s å·²ç»å­˜åœ¨"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, fuzzy, python-format
msgid "Coverage doesn't have %s action"
msgstr "网络ä¸åŒ…å«åŠ¨ä½œ %s"
@@ -3016,42 +3083,49 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr "%s 必须是'MANUAL' 或者 'AUTO'。"
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
#, fuzzy
msgid "host and onSharedStorage must be specified."
msgstr "host与block_migration必须确定"
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, fuzzy, python-format
msgid "Error in evacuate, %s"
msgstr "è¿ç§»é”™è¯¯ %s"
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "è¯ä¹¦ %(certificate_id)s 没有找到。"
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
#, fuzzy
msgid "Flavor not found."
msgstr "没有找到æœåŠ¡å™¨ã€‚"
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
#, fuzzy
msgid "No request body"
msgstr "没有请求主体"
@@ -3087,7 +3161,7 @@ msgstr "浮动ip %(address)s 没有被关è”。"
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr "缺少å‚æ•° dict"
@@ -3140,7 +3214,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr "浮动ip %(address)s 没有被关è”。"
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3338,30 +3412,36 @@ msgid "Create networks failed"
msgstr "创建失败"
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3373,7 +3453,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr "错误格å¼çš„ scheduler_hints 属性"
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr "å‚æ•°ä¸å¤Ÿåˆ›å»ºæœ‰æ•ˆè§„则。"
@@ -3392,16 +3472,16 @@ msgstr "显示id是 %s 的网络"
msgid "security group default rule not found"
msgstr "带有规则 %(rule_id)s 的安全组没有找到。"
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, fuzzy, python-format
msgid "Bad prefix for network in cidr %s"
msgstr "错误的to_global_ipv6å‰ç¼€ï¼š%s"
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr "没有指定安全组"
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr "安全组å称ä¸èƒ½æ˜¯ç©º"
@@ -3427,7 +3507,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
#, fuzzy
msgid "Unknown service"
msgstr "未知的guestmount错误"
@@ -3487,12 +3567,17 @@ msgstr "加载的扩展:%s"
msgid "Ext version: %i"
msgstr "Ext æè¿°: %s"
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, fuzzy, python-format
msgid "Reserving IP address %s"
msgstr "é‡Šæ”¾åœ°å€ %s"
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, fuzzy, python-format
msgid "Unreserving IP address %s"
msgstr "é‡Šæ”¾åœ°å€ %s"
@@ -3511,153 +3596,166 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, fuzzy, python-format
msgid "Running _create_extension_point for %s"
msgstr "调用扩展工厂 %s"
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, fuzzy, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr "没有适用于消æ¯çš„方法:%s"
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, fuzzy, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr "加载扩展 %(ext_factory)s 失败:%(exc)s"
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, fuzzy, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr "没有适用于消æ¯çš„方法:%s"
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, fuzzy, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr "正在删除基文件:%s"
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, fuzzy, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr "把“%(method)sâ€æŠ•æ”¾åœ¨ä¸»æœº \"%(host)s\""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "没有为实例 %(instance_id)s 找到å·ã€‚"
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
#, fuzzy
msgid "Got update to delete instance"
msgstr "没有为实例 %(instance_id)s 找到å·ã€‚"
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, fuzzy, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr "没有为实例 %(instance_id)s 找到å·ã€‚"
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3669,7 +3767,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3702,35 +3800,84 @@ msgstr "å¯åŠ¨VPN %s"
msgid "Failed to load %s"
msgstr "无法创建å·"
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, fuzzy, python-format
msgid "deployment to node %s failed"
msgstr "元素ä¸æ˜¯å­èŠ‚点"
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3753,326 +3900,326 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
#, fuzzy
msgid "Reserved"
msgstr "已接收 %s"
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, fuzzy, python-format
msgid "error: %s"
msgstr "æ•°æ®åº“错误:%s"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
#, fuzzy
msgid "network"
msgstr "é‡ç½®ç½‘络"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
#, fuzzy
msgid "IP address"
msgstr "起始地å€"
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
#, fuzzy
msgid "No fixed IP found."
msgstr "找ä¸åˆ°å›ºå®šIP。"
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, fuzzy, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr "没有固定ip与实例关è”"
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "浮动ip %(address)s 已被关è”。"
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr "id"
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr "IPv4"
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr "IPv6"
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr "起始地å€"
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr "DNS1"
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr "DNS2"
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr "VlanID"
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr "项目"
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr "uuid"
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
#, fuzzy
msgid "No networks found"
msgstr "没有找到网络"
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
#, fuzzy
msgid "UUID is required to delete Quantum Networks"
msgstr "创建网络 %(req)s 是必è¦çš„。"
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
#, fuzzy
msgid "instance"
msgstr "åœæ­¢å®žä¾‹ %r"
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr "æœåŠ¡ %(service_id)s 没有找到。"
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr "æœåŠ¡ %(service_id)s 没有找到。"
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "æ„外错误:%s"
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
#, fuzzy
msgid "PROJECT"
msgstr "项目"
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
#, fuzzy
msgid "Must supply valid parameters to create instance_type"
msgstr "无法创建实例类型。"
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
#, fuzzy
msgid "Instance Type exists."
msgstr "实例 - %s ä¸å­˜åœ¨"
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
#, fuzzy
msgid "Unknown error"
msgstr "未知的guestmount错误"
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, fuzzy, python-format
msgid "%s created"
msgstr "表 |%s| 没有创建"
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
#, fuzzy
msgid "Valid instance type name is required"
msgstr "%s 是一个正确的实例å称"
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "æ•°æ®åº“错误:%s"
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "类型is = %s"
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -4086,256 +4233,256 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
#, fuzzy
msgid "Cannot run any more instances of this type."
msgstr "超过实例的é…é¢ã€‚您无法è¿è¡Œæ›´å¤šæ­¤ç±»åž‹çš„实例。"
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, fuzzy, python-format
msgid "Can only run %s more instances of this type."
msgstr "超过实例的é…é¢ã€‚您åªèƒ½å†è¿è¡Œ %s 个此类型的实例。"
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, fuzzy, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr "%(pid)s å·²ç»è¶…过é…é¢ï¼Œè¯•å›¾è¿è¡Œ %(min_count)s 个实例"
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr "%(pid)s å·²ç»è¶…过é…é¢ï¼Œè¯•å›¾è®¾ç½® %(num_metadata)s 个元数æ®å±žæ€§"
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
#, fuzzy
msgid "Metadata property key greater than 255 characters"
msgstr "安全组 %s ä¸èƒ½æ¯”255个字符更长。"
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
#, fuzzy
msgid "Metadata property value greater than 255 characters"
msgstr "安全组 %s ä¸èƒ½æ¯”255个字符更长。"
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "无法附加å·åˆ°å®žä¾‹ %s"
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr "准备è¿è¡Œ %s 个实例"
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr "bdm %s"
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr "block_device_mapping %s"
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
#, fuzzy
msgid "instance termination disabled"
msgstr "准备开始终止实例"
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, fuzzy, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr "实例类型 %(instance_type_id)s 没有找到。"
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
#, fuzzy
msgid "going to delete a resizing instance"
msgstr "准备开始终止实例"
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, fuzzy, python-format
msgid "instance's host %s is down, deleting from database"
msgstr "没有托管实例 %s,立刻删除"
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
#, fuzzy
msgid "Going to try to soft delete instance"
msgstr "准备å°è¯•è½¯åˆ é™¤å®žä¾‹ %s"
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
#, fuzzy
msgid "Going to try to terminate instance"
msgstr "准备å°è¯•ç»ˆæ­¢å®žä¾‹ %s"
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
#, fuzzy
msgid "Going to try to stop instance"
msgstr "准备å°è¯•åœæ­¢å®žä¾‹ %s"
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
#, fuzzy
msgid "Going to try to start instance"
msgstr "准备å°è¯•å¯åŠ¨å®žä¾‹ %s"
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr "æœç´¢æ¡ä»¶ï¼š %s"
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, fuzzy, python-format
msgid "snapshot for %s"
msgstr "开始为虚拟机 %s 快照"
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr "flavor_id为空。å‡å®šåœ¨è¿ç§»ã€‚"
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr "旧的实例类型 %(current_instance_type_name)s,新的实例类型 %(new_instance_type_name)s"
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, fuzzy, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr "%(pid)s å·²ç»è¶…过é…é¢ï¼Œè¯•å›¾è¿è¡Œ %(min_count)s 个实例"
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, fuzzy, python-format
msgid "Going to try to live migrate instance to %s"
msgstr "准备å°è¯•ç»ˆæ­¢å®žä¾‹ %s"
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr "密钥对å称长度必须在1到255个字符之间"
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr "安全组 %s æ—¢ä¸æ˜¯å­—符串也ä¸æ˜¯unicode"
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr "安全组 %s ä¸èƒ½ä¸ºç©ºã€‚"
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, fuzzy, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr "å‚æ•°GroupName的值 (%s) 无效。长度超过了上é™255。"
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr "安全组 %s ä¸èƒ½æ¯”255个字符更长。"
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr "创建安全组 %s"
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr "安全组 %s å·²ç»å­˜åœ¨"
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "无法销æ¯VBD %s"
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "无法销æ¯VBD %s"
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
#, fuzzy
msgid "Security group is still in use"
msgstr "安全组id应该是整数"
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr "删除安全组 %s"
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr "没有找到规则 (%s)"
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
#, fuzzy
msgid "Quota exceeded, too many security group rules."
msgstr "添加安全组规则:%r"
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr "æŽˆæƒ %s 安全组入å£æƒé™"
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr "撤销 %s 安全组入å£æƒé™"
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr "安全组id应该是整数"
@@ -4400,13 +4547,13 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
-#, fuzzy, python-format
-msgid "'%s' argument must be greater than or equal to 0"
-msgstr "createBackup的属性 'rotation'必须是整数"
+#, python-format
+msgid "'%s' argument must be an integer greater than or equal to 0"
+msgstr ""
#: nova/compute/flavors.py:119
#, fuzzy
@@ -4427,514 +4574,538 @@ msgstr "æ•°æ®åº“错误:%s"
msgid "Instance type %s not found for deletion"
msgstr "未找到è¦åˆ é™¤çš„实例类型 %s"
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, fuzzy, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr "无法把实例 (%(instance_id)s) è¿ç§»åˆ°å½“å‰ä¸»æœº (%(host)s)。"
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
#, fuzzy
msgid "Failed to check if instance shared"
msgstr "é‡æ–°å¯åŠ¨å®žä¾‹å¤±è´¥"
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr "当å‰çŠ¶æ€æ˜¯ %(drv_state)s,数æ®åº“状æ€æ˜¯ %(db_state)s。"
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr "nova-computeé‡å¯åŽï¼Œå®žä¾‹æ­£åœ¨é‡å¯ã€‚"
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
#, fuzzy
msgid "Hypervisor driver does not support resume guests"
msgstr "虚拟机管ç†ç¨‹åºé©±åŠ¨ä¸æ”¯æŒé˜²ç«å¢™è§„则"
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
#, fuzzy
msgid "Failed to resume instance"
msgstr "挂起实例失败"
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr "虚拟机管ç†ç¨‹åºé©±åŠ¨ä¸æ”¯æŒé˜²ç«å¢™è§„则"
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, fuzzy, python-format
msgid "Unexpected power state %d"
msgstr "æ„外的状æ€ç "
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr "正在检查状æ€"
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr "正在设置 bdm %s"
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
#, fuzzy
msgid "Failed to dealloc network for deleted instance"
msgstr "释放实例的网络"
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
#, fuzzy
msgid "Instance was deleted during spawn."
msgstr "实例生产失败"
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, fuzzy, python-format
msgid "Error: %s"
msgstr "æ•°æ®åº“错误:%s"
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr "正在å¯åŠ¨è™šæ‹Ÿæœº"
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
#, fuzzy
msgid "Allocating IP information in the background."
msgstr "没有找到floating_ip"
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
-msgstr "实例网络设置失败"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
+msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr "实例的network_info:|%s|"
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr "实例å—设备设置失败"
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr "实例生产失败"
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr "释放实例的网络"
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
#, fuzzy
msgid "Failed to deallocate network for instance."
msgstr "释放实例的网络"
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr "%(action_str)s 实例"
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr "忽略异常 DiskNotFound: %s"
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, fuzzy, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr "忽略异常 DiskNotFound: %s"
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr "终止bdm %s"
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr "%s。把实例的 vm_state设置为ERROR"
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
#, fuzzy
msgid "Rebuilding instance"
msgstr "正在é‡æ–°åˆ›å»ºå®žä¾‹ %s"
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, fuzzy, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr "%(path)s 在共享存储上:%(reason)s"
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "ä¸ºå· %s 创建快照"
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
#, fuzzy
msgid "Rebooting instance"
msgstr "正在é‡å¯è™šæ‹Ÿæœº %s"
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, fuzzy, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr "试图é‡å¯ä¸€ä¸ªæ²¡æœ‰è¿è¡Œçš„实例:%(instance_uuid)s (状æ€ï¼š%(state)s 预计:%(running)s)"
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
#, fuzzy
msgid "Instance disappeared during reboot"
msgstr "实例 %s:é‡å¯"
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
#, fuzzy
msgid "instance snapshotting"
msgstr "实例 %s: 快照中"
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, fuzzy, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr "试图为一个没有è¿è¡Œçš„实例快照:%(instance_uuid)s (状æ€ï¼š%(state)s 预计:%(running)s)"
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr "找到 %(num_images)d ä¸ªé•œåƒ (rotation: %(rotation)d)"
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr "è½®æ¢å‡º%d个备份"
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr "æ­£åœ¨åˆ é™¤é•œåƒ %s"
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr "设置管ç†å‘˜å¯†ç å¤±è´¥ã€‚实例 %s 没有è¿è¡Œ"
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
#, fuzzy
msgid "Root password set"
msgstr "实例 %s:Root密ç å·²è®¾ç½®"
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
#, fuzzy
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr "该驱动ä¸èƒ½æ‰§è¡Œset_admin_password。"
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, fuzzy, python-format
msgid "set_admin_password failed: %s"
msgstr "该驱动ä¸èƒ½æ‰§è¡Œset_admin_password。"
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
#, fuzzy
msgid "error setting admin password"
msgstr "设置管ç†å‘˜å¯†ç å‡ºé”™"
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "挂起实例失败"
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, fuzzy, python-format
msgid "Driver Error: %s"
msgstr "æ•°æ®åº“错误:%s"
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
#, fuzzy
msgid "Unrescuing"
msgstr "实例 %s:å–消救æ´"
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, fuzzy, python-format
msgid "Updating instance to original state: '%s'"
msgstr "设置实例 %(instance_uuid)s 至 ERROR 状æ€"
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
#, fuzzy
msgid "Instance has no source host"
msgstr "实例没有å·ã€‚"
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr "目标与æ¥æºä¸€æ ·ã€‚"
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
#, fuzzy
msgid "Pausing"
msgstr "正在更新。"
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
#, fuzzy
msgid "Retrieving diagnostics"
msgstr "实例 %s :获å–诊断"
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
#, fuzzy
msgid "Reset network"
msgstr "é‡ç½®ç½‘络"
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
#, fuzzy
msgid "Inject network info"
msgstr "实例 %s:注入网络信æ¯"
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr "将注入的network_info:|%s|"
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
#, fuzzy
msgid "Get console output"
msgstr "获å–实例 %s 控制å°è¾“出"
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
#, fuzzy
msgid "Getting vnc console"
msgstr "实例 %s:正在获得VNC控制å°"
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
#, fuzzy
msgid "Getting spice console"
msgstr "实例 %s:正在获得VNC控制å°"
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr "å· %(volume_id)s 正在 %(mountpoint)s 上å¯åŠ¨"
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr "æ­£åœ¨æŠŠå· %(volume_id)s 附加到 %(mountpoint)s"
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, fuzzy, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr "å· %(volume_id)s 正在 %(mountpoint)s 上å¯åŠ¨"
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, fuzzy, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr "æ­£åœ¨æŠŠå· %(volume_id)s 附加到 %(mountpoint)s"
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr "å· %(volume_id)s 从挂载点 %(mp)s 分离"
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "从未知实例%s中分离å·"
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "æ­£åœ¨æŠŠå· %(volume_id)s 附加到 %(mountpoint)s"
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, fuzzy, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr "实例 %s 的网络分é…"
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
#, fuzzy
msgid "_post_live_migration() is started.."
msgstr "post_live_migration()å·²ç»å¯åŠ¨ã€‚"
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
@@ -4942,171 +5113,171 @@ msgstr ""
"你会看到错误“libvirt: QEMU error: Domain not found: no domain with matching "
"name。â€è¿™ä¸ªé”™è¯¯å¯ä»¥æ”¾å¿ƒçš„忽略。"
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
#, fuzzy
msgid "Post operation of migration started"
msgstr "è¿ç§»åŽæ“作å¯åŠ¨"
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, fuzzy, python-format
msgid "Failed to get compute_info for %s"
msgstr "为ip: %s获å–元数æ®å¤±è´¥"
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr "å‘现 %(migration_count)d 个超过 %(confirm_window)d 秒未ç»ç¡®è®¤çš„è¿ç§»"
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, fuzzy, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr "为实例 %(instance_uuid)s 关闭虚拟机"
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
#, fuzzy
msgid "In ERROR state"
msgstr "节点处于未知的错误状æ€ã€‚"
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr "更新带宽使用缓存"
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
#, fuzzy
msgid "Updating volume usage cache"
msgstr "更新带宽使用缓存"
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr "更新主机状æ€"
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr "在数æ®åº“中找到 %(num_db_instances)s个实例,在虚拟机管ç†ç¨‹åºæ‰¾åˆ° %(num_vm_instances)s 个实例。"
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
#, fuzzy
msgid "Instance is not (soft-)deleted."
msgstr "实例未å¯åŠ¨"
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
#, fuzzy
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr "FLAGS.reclaim_instance_interval <= 0,跳过..."
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr "回收删除的实例"
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, fuzzy, python-format
msgid "Deleting orphan compute node %s"
msgstr "LoggingVolumeDriver: %s"
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, fuzzy, python-format
msgid "No service record for host %s"
msgstr "计算节点 %s 没有æœåŠ¡"
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, fuzzy, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr "设置实例 %(instance_uuid)s 至 ERROR 状æ€"
@@ -5208,11 +5379,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr "未指定计算宿主机"
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr "无法找到实例 %s 的宿主机"
@@ -5228,16 +5399,35 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
#, fuzzy
msgid "Invalid block_device_mapping_destroy invocation"
msgstr "block_device_mapping %s"
+#: nova/conductor/tasks/live_migrate.py:103
+#, fuzzy, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr "无法è¿ç§» %(instance_id)s 到 %(dest)s 上:缺少内存(主机:%(avail)s <= 实例:%(mem_inst)s)"
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr "正在添加控制å°"
@@ -5319,7 +5509,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr "é‡æ–°å¯åŠ¨å®žä¾‹å¤±è´¥"
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5342,44 +5532,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr "无法识别的 read_deleted å–值â€%s“"
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, fuzzy, python-format
msgid "Invalid floating ip id %s in request"
msgstr "实例 %s:已救æ´"
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, fuzzy, python-format
msgid "Invalid floating IP %s in request"
msgstr "实例 %s:已救æ´"
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, fuzzy, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr "实例 %s:已救æ´"
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, fuzzy, python-format
msgid "Invalid virtual interface address %s in request"
msgstr "实例 %s:已救æ´"
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "实例 %s:已救æ´"
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5410,43 +5600,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
#, fuzzy
msgid "Unsupported id columns type"
msgstr "ä¸æ”¯æŒçš„Content-Type"
@@ -5477,47 +5667,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr "正在从glanceé•œåƒæœåŠ¡å™¨ä¸­ä¸‹è½½é•œåƒ %s"
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr "把 %(image_location)s 下载到 %(image_path)s失败"
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr "解密 %(image_location)s 到 %(image_path)s失败"
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr "解包 %(image_location)s 到 %(image_path)s 失败"
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr "上传 %(image_location)s 到 %(image_path)s 失败"
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr "解密ç§é’¥å¤±è´¥ï¼š%s"
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr "解密åˆå§‹åŒ–vector失败:%s"
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr "解密镜åƒæ–‡ä»¶ %(image_file)s 失败:%(err)s"
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr "é•œåƒä¸­ä¸å®‰å…¨çš„文件å"
@@ -5725,42 +5915,42 @@ msgstr "æ€æŽ‰è¿›ç¨‹ radvd 时抛出 %s"
msgid "Pid %d is stale, relaunching radvd"
msgstr "Pid %d 过期了,é‡æ–°å¯åŠ¨radvd"
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, fuzzy, python-format
msgid "Net device removed: '%s'"
msgstr "无效的状æ€ï¼š'%s'"
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr "正在开å¯VLANæŽ¥å£ %s"
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, fuzzy, python-format
msgid "Starting Bridge %s"
msgstr "ä¿è¯æ¡¥ %s"
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, fuzzy, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr "ä¿è¯vlan %(vlan)s 和桥 %(bridge)s"
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, fuzzy, python-format
msgid "Failed to add interface: %s"
msgstr "挂起实例失败"
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, fuzzy, python-format
msgid "Starting bridge %s "
msgstr "ä¿è¯æ¡¥ %s"
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, fuzzy, python-format
msgid "Done starting bridge %s"
msgstr "ä¿è¯æ¡¥ %s"
@@ -5885,13 +6075,13 @@ msgstr "网络已ç»å­˜åœ¨ã€‚"
msgid "Network must be disassociated from project %s before delete"
msgstr "网路在删除å‰å¿…须与项目 %s 解除关è”"
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr "网络数é‡ä¸ŽVLAN起始数之和ä¸èƒ½å¤§äºŽ4049"
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, fuzzy, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5927,156 +6117,156 @@ msgstr "_delete: %s"
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr "é—ç•™çš„ç½‘ç»œä¿¡æ¯ nw_info è¦æ±‚使用 IPv4 å­ç½‘"
-#: nova/network/quantumv2/__init__.py:67
-#, fuzzy
-msgid "quantum authentication failed"
-msgstr "认è¯é”™è¯¯"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
+msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, fuzzy, python-format
msgid "allocate_for_instance() for %s"
msgstr "实例 %s 的网络分é…"
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, fuzzy, python-format
msgid "empty project id for instance %s"
msgstr "实例 %s 的网络分é…"
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
#, fuzzy
msgid "Port not found"
msgstr "没有找到主机"
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, fuzzy, python-format
msgid "deallocate_for_instance() for %s"
msgstr "为实例 |%s| 解除网络分é…"
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, fuzzy, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr "在数æ®åº“删除å·å¤±è´¥"
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, fuzzy, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr "在数æ®åº“删除å·å¤±è´¥"
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, fuzzy, python-format
msgid "get_instance_nw_info() for %s"
msgstr "实例的network_info:|%s|"
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, fuzzy, python-format
msgid "validate_networks() for %s"
msgstr "错误的网络格å¼"
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, fuzzy, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr "找ä¸åˆ°é€‚åˆid %(id)s 的浮动IP。"
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, fuzzy, python-format
msgid "Quantum Error creating security group %s"
msgstr "删除安全组 %s"
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, fuzzy, python-format
msgid "Quantum Error updating security group %s"
msgstr "删除安全组 %s"
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, fuzzy, python-format
msgid "Quantum security group %s not found"
msgstr "删除安全组 %s"
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, fuzzy, python-format
msgid "Quantum Error: %s"
msgstr "抓到错误:%s"
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
#, fuzzy
msgid "Quantum Error getting security groups"
msgstr "删除安全组 %s"
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
#, fuzzy
msgid "Security group id should be uuid"
msgstr "安全组id应该是整数"
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, fuzzy, python-format
msgid "Quantum Error getting security group %s"
msgstr "删除安全组 %s"
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
#, fuzzy
msgid "Quantum Error:"
msgstr "抓到错误:%s"
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, fuzzy, python-format
msgid "Quantum security group rule %s not found"
msgstr "带有规则 %(rule_id)s 的安全组没有找到。"
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, fuzzy, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr "没有找到安全组 %(security_group_id)s 针对项目 %(project_id)s 。"
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, fuzzy, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -6098,12 +6288,12 @@ msgstr "设置管ç†å‘˜å¯†ç å‡ºé”™"
msgid "Invalid version string"
msgstr "ä¸æ­£ç¡®çš„server_string:%s"
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6309,11 +6499,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, fuzzy, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr "未知的基文件:%s"
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr "æ•°æ®åº“异常被包裹。"
@@ -6363,11 +6563,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, fuzzy, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr "加载扩展 %(classpath)s 失败:%(exc)s"
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6805,86 +7000,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr "正确的æœåŠ¡åœ¨è¿è¡Œå—?"
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr "无法找到å¦ä¸€ä¸ªè®¡ç®—节点"
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
-#, fuzzy, python-format
-msgid "Setting instance to %(state)s state."
-msgstr "设置实例 %(instance_uuid)s 至 ERROR 状æ€"
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
+#, python-format
+msgid "Setting instance to %s state."
+msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, fuzzy, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
-msgstr "无法è¿ç§» %(instance_id)s 到 %(dest)s 上:缺少内存(主机:%(avail)s <= 实例:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
+msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, fuzzy, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr "å°è¯•åˆ›å»º %(num_instances)d 个实例"
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, fuzzy, python-format
msgid "Request Spec: %s"
msgstr "请求:%s"
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, fuzzy, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr "没有为实例 %(instance_id)s 找到å·ã€‚"
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr "过滤掉的主机 %(hosts)s"
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, fuzzy, python-format
msgid "Weighed %(hosts)s"
msgstr "过滤掉的主机 %(hosts)s"
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, fuzzy, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr "无法è¿ç§» %(instance_id)s 到 %(dest)s 上:缺少内存(主机:%(avail)s <= 实例:%(mem_inst)s)"
@@ -6919,36 +7111,36 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr "接收到 %(service_name)s æœåŠ¡æ›´æ–°ï¼Œæ¥è‡ª %(host)s。"
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, fuzzy, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr "接收到 %(service_name)s æœåŠ¡æ›´æ–°ï¼Œæ¥è‡ª %(host)s。"
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr "计算节点 %s 没有æœåŠ¡"
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
-#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
-msgstr "schedule_%(method)s 失败:%(ex)s"
-
#: nova/scheduler/scheduler_options.py:71
#, python-format
msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr "无法统计调度器的选项文件 %(filename)s:“%(e)sâ€"
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
-msgstr "无法解ç è°ƒåº¦å™¨çš„选项:“%(e)sâ€"
+msgid "Could not decode scheduler options: '%s'"
+msgstr ""
+
+#: nova/scheduler/utils.py:57
+#, python-format
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
+msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
#, python-format
@@ -6971,7 +7163,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6989,10 +7181,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr "未设置 VCPUsï¼›å‡è®¾ CPU 集åˆæŸå了"
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -7040,13 +7245,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7232,7 +7442,7 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
#, fuzzy
msgid ""
@@ -7240,53 +7450,55 @@ msgid ""
"instances"
msgstr "%(pid)s å·²ç»è¶…过é…é¢ï¼Œè¯•å›¾è¿è¡Œ %(min_count)s 个实例"
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr "正在è¿è¡Œçš„实例:%s"
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr "终止实例之åŽï¼š%s"
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr "内部错误"
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr "强制æ€æ­»å®žä¾‹åŽï¼š%s"
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
#, fuzzy
msgid "spawn error"
msgstr "未知的guestmount错误"
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7412,19 +7624,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr "在%s 创建文件模拟客户代ç†"
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr "移除在 %s 的模拟的客户代ç†æ–‡ä»¶"
@@ -7434,25 +7646,25 @@ msgstr "移除在 %s 的模拟的客户代ç†æ–‡ä»¶"
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, fuzzy, python-format
msgid "Loading compute driver '%s'"
msgstr "LoggingVolumeDriver: %s"
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
#, fuzzy
msgid "Unable to load the virtualization driver"
msgstr "无法加载虚拟驱动:%s"
@@ -7462,7 +7674,7 @@ msgstr "无法加载虚拟驱动:%s"
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr "试图ä¸è¿‡æ»¤æ²¡æœ‰è¿‡æ»¤çš„实例"
@@ -7485,20 +7697,20 @@ msgstr "添加安全组规则:%r"
msgid "Adding provider rule: %s"
msgstr "添加æ供者规则:%s"
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr "'qemu-img info'解æžå¤±è´¥"
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr "fmt=%(fmt)s ç”± %(backing_file)s 支æŒ"
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr "转化为裸格å¼ï¼Œä½†ç›®å‰æ ¼å¼æ˜¯ %s"
@@ -7517,37 +7729,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, fuzzy, python-format
msgid "Destroy called on non-existing instance %s"
msgstr "获å–实例列表"
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7598,85 +7810,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "为实例 |%s| 分é…浮动IP"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, fuzzy, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr "正在从glanceé•œåƒæœåŠ¡å™¨ä¸­ä¸‹è½½é•œåƒ %s"
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, fuzzy, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr "å°† %(injection)s æ³¨å…¥åˆ°é•œåƒ %(img_id)s"
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, fuzzy, python-format
msgid "PXE deploy started for instance %s"
msgstr "实例 %s 的网络分é…"
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, fuzzy, python-format
msgid "PXE deploy completed for instance %s"
msgstr "获å–实例 %s 控制å°è¾“出"
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, fuzzy, python-format
msgid "PXE deploy failed for instance %s"
msgstr "实例 %s 的网络分é…"
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, fuzzy, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr "等待RPCå“应返回超时"
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "实例 %s 的网络分é…"
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "获å–实例 %s 控制å°è¾“出"
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr "节点处于未知的错误状æ€ã€‚"
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, fuzzy, python-format
msgid "Tilera deploy failed for instance %s"
msgstr "无法找到实例 %s 的宿主机"
@@ -7764,24 +7976,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, fuzzy, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr "无法确定iscsi initiatoråå­—"
@@ -7791,7 +8003,7 @@ msgstr "无法确定iscsi initiatoråå­—"
msgid "No fixed PXE IP is associated to %s"
msgstr "没有固定ip与实例关è”"
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7805,23 +8017,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-#, fuzzy
-msgid "No more PXE IPs available"
-msgstr "没有更多的浮动ip。"
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, fuzzy, python-format
msgid "Baremetal interface %s not found"
msgstr "未找到分区"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, fuzzy, python-format
msgid "Baremetal interface %s already in use"
msgstr "虚拟接å£åˆ›å»ºå¤±è´¥"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, fuzzy, python-format
msgid "Baremetal virtual interface %s not found"
msgstr "未找到分区"
@@ -7934,12 +8141,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -8196,12 +8403,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, fuzzy, python-format
msgid "File path %s not valid"
msgstr "注入文件路径:'%s'"
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, fuzzy, python-format
msgid "Failed to mount image %(ex)s)"
msgstr "更新代ç†å¤±è´¥ï¼š%(resp)r"
@@ -8230,23 +8437,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
#, fuzzy
msgid "get_console_output called"
msgstr "获å–实例 %s 控制å°è¾“出"
@@ -8260,7 +8467,7 @@ msgstr "实例代ç†ç‰ˆæœ¬ï¼š%s"
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr "正在更新主机状æ€"
@@ -8280,19 +8487,19 @@ msgstr "é‡Šæ”¾åœ°å€ %s"
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8388,17 +8595,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, fuzzy, python-format
msgid "Starting live migration for VM: %s"
msgstr "为实例 |%s| 分é…浮动IP"
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8417,11 +8624,11 @@ msgstr "把代ç†æ›´æ–°ä¸º %s"
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8447,46 +8654,46 @@ msgstr "实例 %s:开始执行 finish_revert_migration"
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, fuzzy, python-format
msgid "Getting info for disk: %s"
msgstr "找ä¸åˆ°é€‚åˆid %(id)s 的浮动IP。"
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
#, fuzzy
msgid "finish_migration called"
msgstr "实例 %s:开始执行 finish_migration"
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, fuzzy, python-format
msgid "Cannot find boot VHD file: %s"
msgstr "未知的基文件:%s"
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8505,12 +8712,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, fuzzy, python-format
msgid "Creating directory: %s"
msgstr "正在使用路径 %s 创建目录"
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, fuzzy, python-format
msgid "Removing directory: %s"
msgstr "正在使用路径 %s 创建目录"
@@ -8530,41 +8737,41 @@ msgstr "找ä¸åˆ°é€‚åˆid %(id)s 的浮动IP。"
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, fuzzy, python-format
msgid "Removing snapshot %s"
msgstr "开始为虚拟机 %s 快照"
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, fuzzy, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr "移除容器失败:%s"
@@ -8591,107 +8798,107 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
#, fuzzy
msgid "Spawning new instance"
msgstr "正在å¯åŠ¨è™šæ‹Ÿæœº"
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
#, fuzzy
msgid "Spawn instance failed"
msgstr "未知的基文件:%s"
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, fuzzy, python-format
msgid "Creating nic for instance: %s"
msgstr "正在创建虚拟机实例快照 %s "
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, fuzzy, python-format
msgid "Using config drive for instance: %s"
msgstr "为实例 |%s| 分é…浮动IP"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, fuzzy, python-format
msgid "Creating config drive at %(path)s"
msgstr "注入文件路径:'%s'"
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "注入文件路径:'%s'"
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, fuzzy, python-format
msgid "Got request to destroy instance: %s"
msgstr "无法销æ¯VBD %s"
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, fuzzy, python-format
msgid "Instance not found: %s"
msgstr "没有找到实例"
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, fuzzy, python-format
msgid "Failed to destroy instance: %s"
msgstr "无法销æ¯VBD %s"
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
#, fuzzy
msgid "reboot instance"
msgstr "正在é‡å¯è™šæ‹Ÿæœº %s"
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
#, fuzzy
msgid "Pause instance"
msgstr "åœæ­¢å®žä¾‹ %r"
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
#, fuzzy
msgid "Unpause instance"
msgstr "åœæ­¢å®žä¾‹ %r"
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
#, fuzzy
msgid "Suspend instance"
msgstr "挂起实例失败"
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
#, fuzzy
msgid "Resume instance"
msgstr "åœæ­¢å®žä¾‹ %r"
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
#, fuzzy
msgid "Power off instance"
msgstr "å·²ç»å¯åŠ¨è™šæ‹Ÿæœºå®žä¾‹ %s"
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
#, fuzzy
msgid "Power on instance"
msgstr "å·²ç»å¯åŠ¨è™šæ‹Ÿæœºå®žä¾‹ %s"
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8726,29 +8933,29 @@ msgstr "没有找到æœåŠ¡å™¨"
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8760,53 +8967,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, fuzzy, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, fuzzy, python-format
msgid "Attach volume failed: %s"
msgstr "åˆ†ç¦»å· %s"
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr "无法附加å·åˆ°å®žä¾‹ %s"
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, fuzzy, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, fuzzy, python-format
msgid "Detaching physical disk from instance: %s"
msgstr "正在创建虚拟机实例快照 %s "
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr "无法确定iscsi initiatoråå­—"
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, fuzzy, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr "无法找到实例 %s 的宿主机"
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8836,252 +9043,248 @@ msgstr "无法为VDI %s 找到VBD"
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "正在连接 libvirt:%s"
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "å·ç»„ %s ä¸å­˜åœ¨"
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr "连接 libvirt 失败"
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "正在连接 libvirt:%s"
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr "销æ¯æ—¶å‘生错误。Code=%(errcode)s Error=%(e)s"
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
#, fuzzy
msgid "During wait destroy, instance disappeared."
msgstr "%s 在è¿è¡Œä¸­æ¶ˆå¤±äº†ã€‚"
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr "实例销æ¯æˆåŠŸã€‚"
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
#, fuzzy
msgid "Going to destroy instance again."
msgstr "准备åœæ­¢å®žä¾‹"
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr "在 undefine æ—¶ libvirt å‘生错误。Code=%(errcode)s Error=%(e)s"
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, fuzzy, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr "在 undefine æ—¶ libvirt å‘生错误。Code=%(errcode)s Error=%(e)s"
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
-msgstr "删除实例文件 %(target)s"
+msgid "Deleting instance files %s"
+msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, fuzzy, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr "schedule_%(method)s 失败:%(ex)s"
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
#, fuzzy
msgid "Could not determine fibre channel world wide node names"
msgstr "无法确定iscsi initiatoråå­—"
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
#, fuzzy
msgid "Could not determine fibre channel world wide port names"
msgstr "无法确定iscsi initiatoråå­—"
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
#, fuzzy
msgid "During detach_volume, instance disappeared."
msgstr "%s 在è¿è¡Œä¸­æ¶ˆå¤±äº†ã€‚"
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
#, fuzzy
msgid "attaching network adapter failed."
msgstr "没有网络定义。"
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
#, fuzzy
msgid "During detach_interface, instance disappeared."
msgstr "%s 在è¿è¡Œä¸­æ¶ˆå¤±äº†ã€‚"
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
#, fuzzy
msgid "detaching network adapter failed."
msgstr "没有网络定义。"
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "实例æˆåŠŸé‡å¯ã€‚"
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "é‡æ–°å¯åŠ¨å®žä¾‹å¤±è´¥"
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
#, fuzzy
msgid "Instance shutdown successfully."
msgstr "实例æˆåŠŸç”Ÿäº§ã€‚"
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr "实例æˆåŠŸé‡å¯ã€‚"
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr "实例在è¿è¡Œ"
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr "实例æˆåŠŸç”Ÿäº§ã€‚"
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "data:%(data)r, fpath: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
#, fuzzy
msgid "Guest does not have a console available"
msgstr "用户没有管ç†å‘˜æƒé™"
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr "正在创建镜åƒ"
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, fuzzy, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr "å°† %(injection)s æ³¨å…¥åˆ°é•œåƒ %(img_id)s"
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, fuzzy, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr "忽略å‘é•œåƒ %(img_id)s 注入的数æ®çš„错误 (%(e)s)"
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -9089,76 +9292,92 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr "查找 %(instance_name)sæ—¶libvirt出错:[é”™è¯¯ä»£ç  %(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
#, fuzzy
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr "无法得到CPU的数目,因为这个函数ä¸æ˜¯ç»™è¿™ä¸ªå¹³å°æ‰§è¡Œçš„。这个错误å¯ä»¥è¢«æ”¾å¿ƒå¿½ç•¥ã€‚"
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr "libvirt版本过旧(ä¸æ”¯æŒgetVersion)"
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "正在获å–é•œåƒ %s 的大å°"
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -9166,37 +9385,37 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, fuzzy, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr "创建tmpfile %s æ¥é€šçŸ¥å…¶ä»–的计算节点需è¦æŒ‚载相åŒçš„存储。"
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr "å—存储è¿ç§»æ— æ³•åœ¨å…±äº«å­˜å‚¨ä½¿ç”¨"
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
#, fuzzy
msgid "Live migration can not be used without shared storage."
msgstr "å—存储è¿ç§»æ— æ³•åœ¨å…±äº«å­˜å‚¨ä½¿ç”¨"
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, fuzzy, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
@@ -9205,7 +9424,7 @@ msgstr ""
"无法è¿ç§»%(instance_id)s 到 %(dest)s 上:缺少ç£ç›˜(主机:%(available)s <= "
"实例:%(necessary)s)"
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
@@ -9214,7 +9433,7 @@ msgstr ""
"å·²å¯åŠ¨å®žä¾‹çš„CPUä¿¡æ¯ï¼š\n"
"%s"
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -9229,74 +9448,79 @@ msgstr ""
"\n"
"å‚考 %(u)s"
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr "创建tmpfile %s æ¥é€šçŸ¥å…¶ä»–的计算节点需è¦æŒ‚载相åŒçš„存储。"
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
-#, fuzzy, python-format
-msgid "Live Migration failure: %(e)s"
-msgstr "预在线è¿ç§»åœ¨%(dest)s失败"
+#: nova/virt/libvirt/driver.py:3353
+#, python-format
+msgid "Live Migration failure: %s"
+msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, fuzzy, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr "plug_vifs() 失败%(cnt)d 次。最多é‡æ–°å°è¯• %(max_retry)d 次在主机 %(hostname)s。"
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, fuzzy, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr "查找 %(instance_name)sæ—¶libvirt出错:[é”™è¯¯ä»£ç  %(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
-msgstr "因它åƒå·ï¼Œæ‰€ä»¥è·³è¿‡ %(path)s"
+msgid "skipping disk for %s as it does not have a path"
+msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
#, fuzzy
msgid "Starting migrate_disk_and_power_off"
msgstr "实例 %s:开始执行 migrate_disk_and_power_off"
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
#, fuzzy
msgid "Instance running successfully."
msgstr "实例 %s æˆåŠŸè¿è¡Œã€‚"
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
#, fuzzy
msgid "Starting finish_migration"
msgstr "实例 %s:开始执行 finish_migration"
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
#, fuzzy
msgid "Starting finish_revert_migration"
msgstr "实例 %s:开始执行 finish_revert_migration"
-#: nova/virt/libvirt/driver.py:3895
-#, fuzzy, python-format
-msgid "Checking instance files accessability%(instance_path)s"
-msgstr "删除实例文件 %(target)s"
+#: nova/virt/libvirt/driver.py:3982
+#, python-format
+msgid "Checking instance files accessability %s"
+msgstr ""
#: nova/virt/libvirt/firewall.py:51
msgid ""
@@ -9314,15 +9538,15 @@ msgstr "正在确ä¿é™æ€è¿‡æ»¤å™¨"
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
-msgstr "nwfilter(%(instance_filter_name)s)未找到"
+msgid "The nwfilter(%s) is not found."
+msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr "å称为 %(name)s çš„nwfilter(%(instance_filter_name)s) 未找到。"
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr "iptables 防ç«å¢™ï¼šè®¾ç½®åŸºæœ¬çš„过滤规则"
@@ -9480,22 +9704,22 @@ msgstr "å¯åˆ é™¤çš„基文件:%s"
msgid "Verification complete"
msgstr "确认完æˆ"
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9503,62 +9727,63 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, fuzzy, python-format
msgid "Unexpected vif_type=%s"
msgstr "æ„外错误:%s"
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr "ä¿è¯vlan %(vlan)s 和桥 %(bridge)s"
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr "ä¿è¯æ¡¥ %s"
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
#, fuzzy
msgid "Failed while unplugging vif"
msgstr "移除实例â€%s“的虚拟网络设备时失败"
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9566,7 +9791,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9574,7 +9799,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9582,7 +9807,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9745,12 +9970,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9779,16 +10004,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr "连接到melange失败"
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9798,7 +10023,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9872,73 +10097,73 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr "没有找到实例"
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, fuzzy, python-format
msgid "PowerVM image creation failed: %s"
msgstr "正在删除基文件:%s"
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, fuzzy, python-format
msgid "Creating LPAR instance '%s'"
msgstr "获å–实例列表"
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, fuzzy, python-format
msgid "LPAR instance '%s' creation failed"
msgstr "实例 %s:正在创建镜åƒ"
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, fuzzy, python-format
msgid "Activating the LPAR instance '%s'"
msgstr "准备å¯åŠ¨å®žä¾‹"
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, fuzzy, python-format
msgid "Instance '%s' failed to boot"
msgstr "实例 %s:é‡å¯"
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, fuzzy, python-format
msgid "Instance spawned in %s seconds"
msgstr "实例 %s 生产æˆåŠŸ"
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, fuzzy, python-format
msgid "Stopping instance %s for snapshot."
msgstr "实例 %s: 快照中"
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, fuzzy, python-format
msgid "Shutting down the instance '%s'"
msgstr "æ­£å¯åŠ¨è™šæ‹Ÿæœºå®žä¾‹ %s"
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, fuzzy, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr "准备å¯åŠ¨å®žä¾‹"
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
#, fuzzy
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
@@ -9946,32 +10171,36 @@ msgid ""
" vmwareapi.VMwareVCDriver"
msgstr "针对useconnection_type=vmwareapi必须指定vmwareapi_host_ip,vmwareapi_host_username和vmwareapi_host_password"
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, fuzzy, python-format
msgid "VMware Cluster %s is not found"
msgstr "没有找到标记 [%s]"
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr "在vmwareapi:_create_session,得到这个异常:%s"
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr "在vmwareapi:_call_method,得到这个异常:%s"
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr "任务 [%(task_name)s] %(task_ref)s 状æ€ï¼šæˆåŠŸ"
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr "任务 [%(task_name)s] %(task_ref)s 状æ€ï¼šé”™è¯¯ %(error_info)s"
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr "在vmwareapi:_poll_task,得到这个错误 %s"
@@ -9981,39 +10210,39 @@ msgstr "在vmwareapi:_poll_task,得到这个错误 %s"
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr "调用 RetrieveProperties æ—¶å‘生错误 %s"
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr "%(text)s: _db_content => %(content)s"
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, fuzzy, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr "属性 %(attr)s 没有为管ç†å¯¹è±¡ %(objName)s 设置"
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr "没有虚拟机注册"
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr "ref 为 %s 的虚拟机ä¸å­˜åœ¨"
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr "退出无效的会è¯æˆ–者已ç»é€€å‡ºäº†ï¼š%s"
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr "会è¯æœ‰é”™è¯¯"
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr "会è¯æ— æ•ˆ"
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
#, fuzzy
msgid "No Virtual Machine has been registered yet"
msgstr " 还没有虚拟机被注册"
@@ -10246,12 +10475,12 @@ msgstr "正在冷å¯åŠ¨è™šæ‹Ÿæœº %s"
msgid "Did hard reboot of VM"
msgstr "å·²ç»å†·å¯åŠ¨è™šæ‹Ÿæœº %s"
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
#, fuzzy
msgid "Destroying the VM"
msgstr "é‡å¯xvp"
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
#, fuzzy
msgid "Destroyed the VM"
msgstr "å·²ç»æ³¨é”€è™šæ‹Ÿæœº %s"
@@ -10372,103 +10601,108 @@ msgstr "正在关闭虚拟机 %s"
msgid "Powered on the VM"
msgstr "关闭虚拟机 %s"
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, fuzzy, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr "将实例 '%(instance_uuid)s' 的进度更新到 %(progress)d"
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, fuzzy, python-format
msgid "Renaming the VM to %s"
msgstr "正在删除volumeID:%s "
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
#, fuzzy
msgid "instance not present"
msgstr "实例 - %s ä¸å­˜åœ¨"
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, fuzzy, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr "注销虚拟机时在 vmwareapi:vmops:destroy 中å‘生异常:%s"
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, fuzzy, python-format
msgid "Renaming the VM from %s"
msgstr "正在删除volumeID:%s "
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "从快照 %s 创建å·"
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr "找到%(instance_count)d个超过%(timeout)d秒悬挂的é‡å¯"
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, fuzzy, python-format
msgid "Automatically hard rebooting %d"
msgstr "自动冷é‡å¯ %d"
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr "get_diagnostics 没有在 vmwareapi 里实现"
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
#, fuzzy
msgid "Reconfiguring VM instance to set the machine id"
msgstr "正在é‡æ–°é…置虚拟机实例 %s æ¥é™„加镜åƒç£ç›˜"
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
#, fuzzy
msgid "Reconfigured VM instance to set the machine id"
msgstr "å·²ç»é‡æ–°é…置虚拟机实例 %s æ¥é™„加于镜åƒç£ç›˜"
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, fuzzy, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr "正在é‡æ–°é…置实例 %(name)s æ¥è®¾ç½®æœºå™¨çš„id为ip - %(ip_addr)s"
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, fuzzy, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr "å·²ç»é‡æ–°é…置虚拟机实例 %(name)s æ¥è®¾ç½®æœºå™¨çš„id为ip - %(ip_addr)s"
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr "正在使用路径 %s 创建目录"
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr "å·²ç»åˆ›å»ºè·¯å¾„为 %s 的目录"
@@ -10513,7 +10747,7 @@ msgstr "é‡æ–°æ‰«æ存储库 %s"
msgid "Rescanned HBA %s "
msgstr "é‡æ–°æ‰«æ存储库 %s"
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr "挂载点无法被翻译:%s"
@@ -10591,106 +10825,87 @@ msgstr "没有在数æ®åº“找到å·"
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr "挂载点 %(mountpoint)s 从实例 %(instance_name)s 分离"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, fuzzy, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr "超时:调用 %(method)s 超时。虚拟机id=%(instance_uuid)s; args=%(args)r"
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, fuzzy, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr "没有执行:代ç†ä¸æ”¯æŒ %(method)s 的调用。虚拟机id=%(instance_uuid)s; args=%(args)r"
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, fuzzy, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr "对 %(method)s 的调用返回错误:%(e)s。"
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr "查询代ç†ç‰ˆæœ¬"
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, fuzzy, python-format
msgid "Updating agent to %s"
msgstr "把代ç†æ›´æ–°ä¸º %s"
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr "设置管ç†å‘˜å¯†ç "
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, fuzzy, python-format
msgid "Injecting file path: %r"
msgstr "注入文件路径:'%s'"
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr "é‡ç½®ç½‘络"
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr "安装在该镜åƒçš„XenServer工具å¯ä»¥è¿›è¡Œç½‘络注入。网络文件ä¸ä¼šè¢«æ“作。"
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr "该镜åƒæœ‰XenServer工具,但是ä¸èƒ½è¿›è¡Œç½‘络注入"
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr "没有在该镜åƒä¸Šå®‰è£…XenServer工具"
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr "OpenSSL错误:%s"
@@ -10709,54 +10924,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, fuzzy, python-format
msgid "Could not determine key: %s"
msgstr "解密ç§é’¥å¤±è´¥ï¼š%s"
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr "ä¸æ”¯æŒåœ¨XenServerå¯åŠ¨ä¸»æœº"
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr "无法登录到XenAPI(Dom0ç£ç›˜æ˜¯ç©ºä¹ˆï¼Ÿ)"
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr "得到异常:%s"
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr "产生 NotImplemented 错误"
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr "xenapi.fake 没有 %s 的实现"
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr "调用 getter %s"
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, fuzzy, python-format
msgid "Calling setter %s"
msgstr "调用 getter %s"
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -11023,229 +11238,229 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, fuzzy, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr "é•œåƒå¤§å° %(size_bytes)d 超过instance_type所å…许的å°å¤§ %(allowed_size_bytes)d"
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, fuzzy, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr "获å–é•œåƒ %(image)s"
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, fuzzy, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr "é•œåƒ %(image)s 的大å°ï¼š%(virtual_size)d"
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr "内核/内存盘镜åƒå¤ªå¤§ï¼š%(vdi_size)d 字节,最大 %(max_size)d 字节"
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr "å°†VDI %s å¤åˆ¶åˆ°dom0çš„/boot/guest下"
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr "内核/内存盘 VDI %s 已销æ¯"
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
#, fuzzy
msgid "Failed to fetch glance image"
msgstr "实例 %s:获å–Glanceé•œåƒå¤±è´¥"
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr "检测到 %(image_type_str)s æ ¼å¼ï¼Œç›®æ ‡æ˜¯é•œåƒ %(image_ref)s"
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr "为PV内核查询vdi %s"
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr "VDI %s ä¾ç„¶å¯ç”¨"
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr "é‡æ–°æ‰«æ存储库 %s"
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr "标记sr_matching_filter '%s' 没有éµå¾ªæ ¼å¼è¦æ±‚"
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr "XenAPI无法找到安装客户实例的存储库。请检查你的é…置或者é…置标记'sr_matching_filter'"
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr "无法找到content-type ISO的存储库"
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr "ISO:éžiso内容"
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr "ISO:iso content_type,没有 'i18n-key' 键"
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr "ISO:iso content_type,i18n-key的值ä¸æ˜¯ 'local-storage-iso'"
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr "ISO: 存储库符åˆæ ‡å‡†"
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr "ISO: ISO, 正在查看是å¦æ˜¯æœ¬åœ°çš„主机"
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr "ISO: PBD匹é…, æƒ³è¦ %(pbd_rec)s, ç›®å‰æœ‰ %(host)s"
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr "ISO:å«æœ‰æœ¬åœ°PBD的存储库"
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr "无法为å«æœåŠ¡å™¨è¯¦ç»†ä¿¡æ¯çš„虚拟机 %(vm_uuid)s 获å–RRD XML:%(server)s。"
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr "æ¥è‡ªXenserver无效的统计数æ®ï¼š%s"
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, fuzzy, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr "VHD %(vdi_uuid)s 有父 %(parent_ref)s"
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr "父标识 %(parent_uuid)s 和原先的父标识 %(original_parent_uuid)s ä¸åŒ¹é…,正在等待åˆå¹¶..."
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr "等待设备 %s 创建超时"
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr "æ’å…¥VBD %s... "
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr "æ’å…¥VBD %s 完æˆã€‚"
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr "VBD %(vbd_ref)s 作为 %(orig_dev)s æ’å…¥"
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr "VBD %(vbd_ref)s æ’入错误的设备,é‡æ–°æ˜ å°„为 %(dev)s"
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr "正在销æ¯VDI为 %s çš„ VBD "
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr "å·²ç»é”€æ¯VDI为 %s çš„ VBD"
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr "对 %s è¿è¡Œpygrub"
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr "找到Xen内核 %s"
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr "没有找到Xen内核。正在å¯åŠ¨HVM。"
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -11253,58 +11468,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr "分区:"
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr " %(num)s: %(ptype)s %(size)d sectors"
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr "将分区表 %(primary_first)d %(primary_last)d 写入到 %(dev_path)s..."
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr "完æˆå†™å…¥åˆ†åŒºè¡¨ %s 。"
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr "直接æ“作接å£æ–‡ä»¶"
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr "挂载文件系统失败(期望的是éžLinux实例):%s"
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11590,11 +11805,16 @@ msgstr "无法为存储库 %s 引入VDI"
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11628,32 +11848,32 @@ msgstr "未知的基文件:%s"
msgid "Error in handshake: %s"
msgstr "æ¡æ‰‹å‡ºé”™ï¼š%s"
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr "无效的请求:%s"
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr "请求:%s"
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr "请求缺少令牌:%s"
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr "请求中有无效令牌:%s"
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr "æ„外错误:%s"
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr "å¯åŠ¨nova-xvpvncproxy节点(版本 %s)"
@@ -11673,218 +11893,19 @@ msgstr "状æ€å¿…é¡»å¯ç”¨"
msgid "status must be 'available'"
msgstr "状æ€å¿…é¡»å¯ç”¨"
-#~ msgid "Quota for %s should be integer."
-#~ msgstr "version应该是整数"
-
-#~ msgid "Unknown action"
-#~ msgstr "未知链:%r"
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr "无效的实例类型 %(instance_type)s。"
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr "无法é‡æ–°åˆ›å»ºå®žä¾‹ [%(instance_uuid)s]: %(exc)s"
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-#~ "试图把一个文件注入到没有è¿è¡Œçš„实例:%(instance_uuid)s (状æ€: "
-#~ "%(current_power_state)s 预计: %(expected_state)s)"
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr "注入文件路径:'%s'"
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr "网络 %(network_id)s 没有找到。"
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr "主机 %(host)s 没有找到。"
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr "预在线è¿ç§»åœ¨%(dest)s失败"
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr "把实例è¿ç§»åˆ° %(dest)s æˆåŠŸå®Œæˆã€‚"
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr "没有找到实例 %(instance_id)s"
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr "检测标签å为 '%(name_label)s' 的实例,这些实例被标识为DELETEDå´ä»ç„¶å­˜åœ¨äºŽä¸»æœºä¸Šã€‚"
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr "销æ¯æ ‡ç­¾å为 '%(name_label)s' 的实例,这些实例被标识为DELETEDå´ä»ç„¶å­˜åœ¨äºŽä¸»æœºä¸Šã€‚"
-
-#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
-#~ msgstr "无法识别的FLAGS.running_deleted_instance_actionçš„å–值 '%(action)s'"
-
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-#~ "%(method)s 的代ç†è°ƒç”¨è¿”回无效的å“应:%(ret)r。虚拟机id=%(instance_uuid)s; "
-#~ "path=%(path)s; args=%(addl_args)r"
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr "查询代ç†ç‰ˆæœ¬å¤±è´¥ï¼š%(resp)r"
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr "更新代ç†å¤±è´¥ï¼š%(resp)r"
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr "交æ¢é’¥åŒ™å¤±è´¥ï¼š%(resp)r"
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr "更新密ç å¤±è´¥ï¼š%(resp)r"
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr "注入文件失败:%(resp)r"
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr "注入文件失败:%(resp)r"
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr "正在调用 %(localname)s %(impl)s"
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr "无法找到实例 %s 的宿主机"
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr "注入文件失败:%(resp)r"
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr "无法使用全局角色 %(role_id)s"
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-#~ "网络 %(bridge)s 的 PIF %(pif_rec['uuid'])s "
-#~ "有VLAN id %(pif_vlan)d。期待的数目是 %(vlan_num)d"
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr "未找到 %(vm_ref)s 的主VDI"
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr "åªèƒ½åœ¨ext类型的缺çœæœ¬åœ°å­˜å‚¨åº“支æŒå¿«é€Ÿå…‹éš†ã€‚这个系统的存储库类型为 %(sr_type)s。忽略此 cow 标记。"
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr "请求 xapi èŽ·å– vhd é•œåƒ %(image)s"
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr "未知的镜åƒæ ¼å¼ %(disk_image_type)s"
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr "ISO:正在查看存储库 %(sr_rec)s"
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr "ISO: PBD %(pbd_ref)s 消失了"
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr "无法获å–包å«æœåŠ¡å™¨è¯¦ç»†æƒ…况的RRD XML更新:%(server)s。"
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr "VHD coalesce å°†è¦è¶…过(%(max_attempts)d),放弃中..."
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr "将实例 '%(instance_uuid)s' 的进度更新到 %(progress)d"
-
-#~ msgid "Resize down not allowed without auto_disk_config"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr "正在为虚拟机 %(vm_ref)s,网络 %(network_ref)s 创建VIF。"
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
-#~ msgid "Creating SR %(label)s"
-#~ msgstr "正在创建存储库 %s"
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr "引入存储库 %s"
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr "æ— æ³•èŽ·å¾—ç›®æ ‡ä¿¡æ¯ %(data)s, %(mountpoint)s"
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr "æ— æ³•èŽ·å¾—ç›®æ ‡ä¿¡æ¯ %(data)s, %(mountpoint)s"
-
-#~ msgid "Connect_volume: %(connection_info)s"
-#~ msgstr "Attach_volume: %(connection_info)s, %(instance_name)s, %(mountpoint)s"
-
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
-#~ msgstr "实例 %(instance_id)s 没有找到。"
-
diff --git a/nova/locale/zh_HK/LC_MESSAGES/nova.po b/nova/locale/zh_HK/LC_MESSAGES/nova.po
index 61ee5d7c5..c49e4a757 100644
--- a/nova/locale/zh_HK/LC_MESSAGES/nova.po
+++ b/nova/locale/zh_HK/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Nova\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/nova\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2013-05-28 17:08+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Chinese (Hong Kong) "
@@ -80,298 +80,298 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr ""
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:167
+#: nova/exception.py:169
#, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr ""
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr ""
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr ""
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr ""
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr ""
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr ""
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr ""
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr ""
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
msgid "Failed to deploy instance"
msgstr ""
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr ""
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr ""
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr ""
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr ""
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, python-format
msgid "Unable to find cert_file : %s"
msgstr ""
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, python-format
msgid "Unable to find ca_file : %s"
msgstr ""
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, python-format
msgid "Unable to find key_file : %s"
msgstr ""
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1715,261 +1746,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2139,89 +2165,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2269,6 +2313,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2315,21 +2360,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2337,6 +2385,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2361,6 +2411,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2374,14 +2425,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2398,6 +2449,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2414,273 +2466,277 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
msgid "Invalid instance image."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2721,6 +2777,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2760,6 +2817,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2852,36 +2910,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2921,32 +2988,32 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
msgid "Invalid path"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2957,40 +3024,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3024,7 +3098,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3072,7 +3146,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3263,30 +3337,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3298,7 +3378,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3315,16 +3395,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3348,7 +3428,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3407,12 +3487,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3431,152 +3516,165 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, python-format
msgid "Got update for instance: %(instance)s"
msgstr ""
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
msgid "Got update to delete instance"
msgstr ""
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3588,7 +3686,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3621,35 +3719,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3670,312 +3817,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3989,244 +4136,244 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
msgid "Cannot attach one or more volumes to multiple instances"
msgstr ""
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
msgid "instance termination disabled"
msgstr ""
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, python-format
msgid "Unable to update system group '%s'"
msgstr ""
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, python-format
msgid "Unable to delete system group '%s'"
msgstr ""
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4290,12 +4437,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4316,653 +4463,677 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
msgid "Failed to resume instance"
msgstr ""
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, python-format
msgid "Detaching from volume api: %s"
msgstr ""
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
msgid "Error trying to Rescue Instance"
msgstr ""
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
msgid "Detaching volume from unknown instance"
msgstr ""
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5062,11 +5233,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5082,15 +5253,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5169,7 +5359,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5191,44 +5381,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5259,43 +5449,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5324,47 +5514,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5570,42 +5760,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5725,13 +5915,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5766,151 +5956,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5931,12 +6122,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6139,11 +6330,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6193,11 +6394,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6622,86 +6818,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6736,35 +6929,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6788,7 +6981,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6806,10 +6999,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6857,13 +7063,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7048,59 +7259,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7220,19 +7433,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7242,25 +7455,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7269,7 +7482,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7291,20 +7504,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7323,37 +7536,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7401,85 +7614,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, python-format
msgid "PXE deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, python-format
msgid "Tilera deploy started for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, python-format
msgid "Tilera deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7564,24 +7777,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7591,7 +7804,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7605,22 +7818,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, python-format
msgid "Baremetal interface %s already in use"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7733,12 +7942,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -7991,12 +8200,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, python-format
msgid "Failed to mount image %(ex)s)"
msgstr ""
@@ -8025,23 +8234,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8054,7 +8263,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8073,19 +8282,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8174,17 +8383,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8203,11 +8412,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8231,45 +8440,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, python-format
msgid "Getting info for disk: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8288,12 +8497,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8313,41 +8522,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8373,98 +8582,98 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, python-format
msgid "Creating nic for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, python-format
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, python-format
msgid "Got request to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, python-format
msgid "Failed to destroy instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
msgid "reboot instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8498,29 +8707,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8532,53 +8741,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, python-format
msgid "Attach volume failed: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, python-format
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8608,240 +8817,236 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8849,75 +9054,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8925,50 +9146,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8978,69 +9199,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
+#, python-format
+msgid "skipping %s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3609
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9059,15 +9285,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9221,22 +9447,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9244,61 +9470,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9306,7 +9533,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9314,7 +9541,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9322,7 +9549,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9482,12 +9709,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9514,16 +9741,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9533,7 +9760,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9606,105 +9833,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, python-format
msgid "PowerVM image creation failed: %s"
msgstr ""
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, python-format
msgid "LPAR instance '%s' creation failed"
msgstr ""
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9714,39 +9945,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9958,11 +10189,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10067,100 +10298,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, python-format
msgid "Renamed the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10205,7 +10441,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10281,106 +10517,87 @@ msgstr ""
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10396,54 +10613,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10703,228 +10920,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10932,58 +11149,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11249,11 +11466,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11287,32 +11509,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11330,212 +11552,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr ""
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr ""
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
-#~ msgstr ""
-
-#~ msgid "No primary VDI found for %(vm_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
-#~ msgstr ""
-
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/locale/zh_TW/LC_MESSAGES/nova.po b/nova/locale/zh_TW/LC_MESSAGES/nova.po
index e810e9e0a..c307a6850 100644
--- a/nova/locale/zh_TW/LC_MESSAGES/nova.po
+++ b/nova/locale/zh_TW/LC_MESSAGES/nova.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: nova\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2013-06-15 19:37+0000\n"
+"POT-Creation-Date: 2013-07-01 19:37+0000\n"
"PO-Revision-Date: 2012-03-07 02:00+0000\n"
"Last-Translator: Charles Hsu <charles0126+openstack@gmail.com>\n"
"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n"
@@ -79,299 +79,299 @@ msgstr ""
msgid "Flags path: %s"
msgstr ""
-#: nova/exception.py:112
+#: nova/exception.py:113
msgid "An unknown exception occurred."
msgstr "發生一個未知例外"
-#: nova/exception.py:133 nova/openstack/common/rpc/common.py:87
+#: nova/exception.py:135 nova/openstack/common/rpc/common.py:87
msgid "Exception in string format operation"
msgstr ""
-#: nova/exception.py:153
+#: nova/exception.py:155
msgid "Unknown"
msgstr ""
-#: nova/exception.py:163
+#: nova/exception.py:165
#, fuzzy, python-format
msgid "Failed to encrypt text: %(reason)s"
msgstr "內文解碼失敗"
-#: nova/exception.py:167
+#: nova/exception.py:169
#, fuzzy, python-format
msgid "Failed to decrypt text: %(reason)s"
msgstr "內文解碼失敗"
-#: nova/exception.py:171
+#: nova/exception.py:173
msgid "Virtual Interface creation failed"
msgstr "建立虛擬介é¢å¤±æ•—"
-#: nova/exception.py:175
+#: nova/exception.py:177
msgid "5 attempts to create virtual interfacewith unique mac address failed"
msgstr "連續嘗試 5 次建立唯一網路ä½ç½®(MAC)的虛擬介é¢å¤±æ•—"
-#: nova/exception.py:180
+#: nova/exception.py:182
#, python-format
msgid "Connection to glance host %(host)s:%(port)s failed: %(reason)s"
msgstr ""
-#: nova/exception.py:185
+#: nova/exception.py:187
msgid "Not authorized."
msgstr "未被授權"
-#: nova/exception.py:190
+#: nova/exception.py:192
msgid "User does not have admin privileges"
msgstr "使用者並沒有管ç†è€…權力"
-#: nova/exception.py:194
+#: nova/exception.py:196
#, python-format
msgid "Policy doesn't allow %(action)s to be performed."
msgstr ""
-#: nova/exception.py:198
+#: nova/exception.py:200
#, python-format
msgid "Image %(image_id)s is not active."
msgstr ""
-#: nova/exception.py:202
+#: nova/exception.py:204
#, python-format
msgid "Not authorized for image %(image_id)s."
msgstr ""
-#: nova/exception.py:206
+#: nova/exception.py:208
msgid "Unacceptable parameters."
msgstr "ä¸å¯æŽ¥å—çš„åƒæ•¸å€¼"
-#: nova/exception.py:211
+#: nova/exception.py:213
msgid "Block Device Mapping is Invalid."
msgstr ""
-#: nova/exception.py:215
+#: nova/exception.py:217
#, python-format
msgid "Block Device Mapping is Invalid: failed to get snapshot %(id)s."
msgstr ""
-#: nova/exception.py:220
+#: nova/exception.py:222
#, python-format
msgid "Block Device Mapping is Invalid: failed to get volume %(id)s."
msgstr ""
-#: nova/exception.py:225
+#: nova/exception.py:227
msgid ""
"Block Device Mapping is Invalid: some fields are not recognized, or have "
"invalid values."
msgstr ""
-#: nova/exception.py:231
+#: nova/exception.py:233
msgid "Block Device Mapping cannot be converted to legacy format. "
msgstr ""
-#: nova/exception.py:236
+#: nova/exception.py:238
#, python-format
msgid "Volume %(volume_id)s is not attached to anything"
msgstr ""
-#: nova/exception.py:240
+#: nova/exception.py:242
#, python-format
msgid ""
"Volume %(volume_id)s did not finish being created even after we waited "
"%(seconds)s seconds or %(attempts)s attempts."
msgstr ""
-#: nova/exception.py:246 nova/api/ec2/cloud.py:473
+#: nova/exception.py:248 nova/api/ec2/cloud.py:472
msgid "Keypair data is invalid"
msgstr "無效的Keypair"
-#: nova/exception.py:250
+#: nova/exception.py:252
msgid "The request is invalid."
msgstr ""
-#: nova/exception.py:254
+#: nova/exception.py:256
msgid "Invalid input received"
msgstr ""
-#: nova/exception.py:258
+#: nova/exception.py:260
msgid "Invalid volume"
msgstr ""
-#: nova/exception.py:262 nova/api/openstack/compute/servers.py:1339
+#: nova/exception.py:264 nova/api/openstack/compute/servers.py:1341
#: nova/api/openstack/compute/contrib/admin_actions.py:242
-#: nova/api/openstack/compute/plugins/v3/servers.py:1429
+#: nova/api/openstack/compute/plugins/v3/servers.py:1426
msgid "Invalid metadata"
msgstr ""
-#: nova/exception.py:266
+#: nova/exception.py:268
msgid "Invalid metadata size"
msgstr ""
-#: nova/exception.py:270
+#: nova/exception.py:272
#, python-format
msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
msgstr ""
-#: nova/exception.py:274
+#: nova/exception.py:276
#, python-format
msgid "Invalid IP protocol %(protocol)s."
msgstr ""
-#: nova/exception.py:278
+#: nova/exception.py:280
#, python-format
msgid "Invalid content type %(content_type)s."
msgstr ""
-#: nova/exception.py:282
+#: nova/exception.py:284
#, python-format
msgid "Invalid cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:286 nova/openstack/common/db/exception.py:44
+#: nova/exception.py:288 nova/openstack/common/db/exception.py:44
msgid "Invalid Parameter: Unicode is not supported by the current database."
msgstr ""
-#: nova/exception.py:293
+#: nova/exception.py:295
#, python-format
msgid "%(err)s"
msgstr ""
-#: nova/exception.py:297
+#: nova/exception.py:299
#, python-format
msgid ""
"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
" %(reason)s."
msgstr ""
-#: nova/exception.py:302
+#: nova/exception.py:304
#, python-format
msgid "Group not valid. Reason: %(reason)s"
msgstr ""
-#: nova/exception.py:306 nova/openstack/common/db/sqlalchemy/utils.py:33
+#: nova/exception.py:308 nova/openstack/common/db/sqlalchemy/utils.py:33
msgid "Sort key supplied was not valid."
msgstr ""
-#: nova/exception.py:310
+#: nova/exception.py:312
#, python-format
msgid ""
"Instance %(instance_uuid)s in %(attr)s %(state)s. Cannot %(method)s while"
" the instance is in this state."
msgstr ""
-#: nova/exception.py:315
+#: nova/exception.py:317
#, python-format
msgid "Instance %(instance_id)s is not running."
msgstr ""
-#: nova/exception.py:319
+#: nova/exception.py:321
#, python-format
msgid "Instance %(instance_id)s is not in rescue mode"
msgstr ""
-#: nova/exception.py:323
+#: nova/exception.py:325
#, python-format
msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
msgstr ""
-#: nova/exception.py:327
+#: nova/exception.py:329
#, python-format
msgid "Instance %(instance_id)s is not ready"
msgstr ""
-#: nova/exception.py:331
+#: nova/exception.py:333
msgid "Failed to suspend instance"
msgstr ""
-#: nova/exception.py:335
+#: nova/exception.py:337
#, fuzzy, python-format
msgid "Failed to resume instance: %(reason)s."
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/exception.py:339
+#: nova/exception.py:341
#, python-format
msgid "Failed to power on instance: %(reason)s."
msgstr ""
-#: nova/exception.py:343
+#: nova/exception.py:345
#, python-format
msgid "Failed to power off instance: %(reason)s."
msgstr ""
-#: nova/exception.py:347
+#: nova/exception.py:349
msgid "Failed to reboot instance"
msgstr ""
-#: nova/exception.py:351
+#: nova/exception.py:353
msgid "Failed to terminate instance"
msgstr ""
-#: nova/exception.py:355
+#: nova/exception.py:357
#, fuzzy
msgid "Failed to deploy instance"
msgstr "無法å¸è¼‰ Volume %s"
-#: nova/exception.py:359
+#: nova/exception.py:361
msgid "Service is unavailable at this time."
msgstr ""
-#: nova/exception.py:363
+#: nova/exception.py:365
msgid "Insufficient compute resources."
msgstr ""
-#: nova/exception.py:367
+#: nova/exception.py:369
#, python-format
msgid "Compute service of %(host)s is unavailable at this time."
msgstr ""
-#: nova/exception.py:371
+#: nova/exception.py:373
#, python-format
msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
msgstr ""
-#: nova/exception.py:376
+#: nova/exception.py:378
msgid "The supplied hypervisor type of is invalid."
msgstr ""
-#: nova/exception.py:380
+#: nova/exception.py:382
msgid "The instance requires a newer hypervisor version than has been provided."
msgstr ""
-#: nova/exception.py:385
+#: nova/exception.py:387
#, python-format
msgid ""
"The supplied disk path (%(path)s) already exists, it is expected not to "
"exist."
msgstr ""
-#: nova/exception.py:390
+#: nova/exception.py:392
#, python-format
msgid "The supplied device path (%(path)s) is invalid."
msgstr ""
-#: nova/exception.py:394
+#: nova/exception.py:396
#, python-format
msgid "The supplied device path (%(path)s) is in use."
msgstr ""
-#: nova/exception.py:399
+#: nova/exception.py:401
#, python-format
msgid "The supplied device (%(device)s) is busy."
msgstr ""
-#: nova/exception.py:403
+#: nova/exception.py:405
msgid "Unacceptable CPU info"
msgstr ""
-#: nova/exception.py:407
+#: nova/exception.py:409
#, python-format
msgid "%(address)s is not a valid IP v4/6 address."
msgstr ""
-#: nova/exception.py:411
+#: nova/exception.py:413
#, python-format
msgid ""
"VLAN tag is not appropriate for the port group %(bridge)s. Expected VLAN "
"tag is %(tag)s, but the one associated with the port group is %(pgroup)s."
msgstr ""
-#: nova/exception.py:417
+#: nova/exception.py:419
#, python-format
msgid ""
"vSwitch which contains the port group %(bridge)s is not associated with "
@@ -379,85 +379,85 @@ msgid ""
"one associated is %(actual)s."
msgstr ""
-#: nova/exception.py:424
+#: nova/exception.py:426
#, python-format
msgid "Disk format %(disk_format)s is not acceptable"
msgstr ""
-#: nova/exception.py:428
+#: nova/exception.py:430
#, python-format
msgid "Image %(image_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:432
+#: nova/exception.py:434
#, python-format
msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
msgstr ""
-#: nova/exception.py:436
+#: nova/exception.py:438
#, python-format
msgid "Ec2 id %(ec2_id)s is unacceptable."
msgstr ""
-#: nova/exception.py:440
+#: nova/exception.py:442
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
-#: nova/exception.py:444
+#: nova/exception.py:446
#, python-format
msgid "Invalid ID received %(id)s."
msgstr ""
-#: nova/exception.py:448
+#: nova/exception.py:450
msgid "Constraint not met."
msgstr ""
-#: nova/exception.py:453
+#: nova/exception.py:455
msgid "Resource could not be found."
msgstr ""
-#: nova/exception.py:458
+#: nova/exception.py:460
#, python-format
msgid "No agent-build associated with id %(id)s."
msgstr ""
-#: nova/exception.py:462
+#: nova/exception.py:464
#, python-format
msgid "Volume %(volume_id)s could not be found."
msgstr ""
-#: nova/exception.py:466
+#: nova/exception.py:468
#, python-format
msgid "Snapshot %(snapshot_id)s could not be found."
msgstr ""
-#: nova/exception.py:470
+#: nova/exception.py:472
#, python-format
msgid "No target id found for volume %(volume_id)s."
msgstr ""
-#: nova/exception.py:474
+#: nova/exception.py:476
#, python-format
msgid "No disk at %(location)s"
msgstr ""
-#: nova/exception.py:478
+#: nova/exception.py:480
#, python-format
msgid "Could not find a handler for %(driver_type)s volume."
msgstr ""
-#: nova/exception.py:482
+#: nova/exception.py:484
#, python-format
msgid "Invalid image href %(image_href)s."
msgstr ""
-#: nova/exception.py:486
+#: nova/exception.py:488
#, python-format
msgid "Image %(image_id)s could not be found."
msgstr ""
-#: nova/exception.py:490
+#: nova/exception.py:492
#, python-format
msgid ""
"Image %(image_id)s could not be found. The nova EC2 API assigns image ids"
@@ -465,896 +465,917 @@ msgid ""
"image ids since adding this image?"
msgstr ""
-#: nova/exception.py:497
+#: nova/exception.py:499
#, python-format
msgid "Project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:501
+#: nova/exception.py:503
msgid "Cannot find SR to read/write VDI."
msgstr ""
-#: nova/exception.py:505
+#: nova/exception.py:507
#, python-format
msgid "Network %(network_id)s is duplicated."
msgstr ""
-#: nova/exception.py:509
+#: nova/exception.py:511
#, python-format
msgid "Network %(network_id)s is still in use."
msgstr ""
-#: nova/exception.py:513
+#: nova/exception.py:515
#, python-format
msgid "%(req)s is required to create a network."
msgstr ""
-#: nova/exception.py:517
+#: nova/exception.py:519
#, python-format
msgid "Network %(network_id)s could not be found."
msgstr ""
-#: nova/exception.py:521
+#: nova/exception.py:523
#, python-format
msgid "Port id %(port_id)s could not be found."
msgstr ""
-#: nova/exception.py:525
+#: nova/exception.py:527
#, python-format
msgid "Network could not be found for bridge %(bridge)s"
msgstr ""
-#: nova/exception.py:529
+#: nova/exception.py:531
#, python-format
msgid "Network could not be found for uuid %(uuid)s"
msgstr ""
-#: nova/exception.py:533
+#: nova/exception.py:535
#, python-format
msgid "Network could not be found with cidr %(cidr)s."
msgstr ""
-#: nova/exception.py:537
+#: nova/exception.py:539
#, python-format
msgid "Network could not be found for instance %(instance_id)s."
msgstr ""
-#: nova/exception.py:541
+#: nova/exception.py:543
msgid "No networks defined."
msgstr ""
-#: nova/exception.py:545
+#: nova/exception.py:547
#, python-format
msgid ""
"Either Network uuid %(network_uuid)s is not present or is not assigned to"
" the project %(project_id)s."
msgstr ""
-#: nova/exception.py:550
+#: nova/exception.py:552
msgid "Could not find the datastore reference(s) which the VM uses."
msgstr ""
-#: nova/exception.py:554
+#: nova/exception.py:556
#, python-format
msgid "Port %(port_id)s is still in use."
msgstr ""
-#: nova/exception.py:558
+#: nova/exception.py:560
#, fuzzy, python-format
msgid "Port %(port_id)s not usable for instance %(instance)s."
msgstr "掛載點 %(mountpoint)s 掛載到虛擬機器 %(instance_name)s"
-#: nova/exception.py:562
+#: nova/exception.py:564
#, python-format
msgid "No free port available for instance %(instance)s."
msgstr ""
-#: nova/exception.py:566
+#: nova/exception.py:568
#, python-format
msgid "No fixed IP associated with id %(id)s."
msgstr ""
-#: nova/exception.py:570
+#: nova/exception.py:572
#, python-format
msgid "Fixed ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:574
+#: nova/exception.py:576
#, python-format
msgid "Instance %(instance_uuid)s has zero fixed ips."
msgstr ""
-#: nova/exception.py:578
+#: nova/exception.py:580
#, python-format
msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
msgstr ""
-#: nova/exception.py:583
+#: nova/exception.py:585
#, python-format
msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
msgstr ""
-#: nova/exception.py:587
+#: nova/exception.py:589
#, python-format
msgid ""
"Fixed IP address (%(address)s) does not exist in network "
"(%(network_uuid)s)."
msgstr ""
-#: nova/exception.py:592
+#: nova/exception.py:594
#, python-format
msgid ""
"Fixed IP address %(address)s is already in use on instance "
"%(instance_uuid)s."
msgstr ""
-#: nova/exception.py:597
+#: nova/exception.py:599
#, python-format
msgid "More than one instance is associated with fixed ip address '%(address)s'."
msgstr ""
-#: nova/exception.py:602
+#: nova/exception.py:604
#, python-format
msgid "Fixed IP address %(address)s is invalid."
msgstr ""
-#: nova/exception.py:606
+#: nova/exception.py:608
msgid "Zero fixed ips available."
msgstr ""
-#: nova/exception.py:610
+#: nova/exception.py:612
msgid "Zero fixed ips could be found."
msgstr ""
-#: nova/exception.py:619
+#: nova/exception.py:621
#, python-format
msgid "Floating ip %(address)s already exists."
msgstr ""
-#: nova/exception.py:623
+#: nova/exception.py:625
#, python-format
msgid "Floating ip not found for id %(id)s."
msgstr ""
-#: nova/exception.py:627
+#: nova/exception.py:629
#, python-format
msgid "The DNS entry %(name)s already exists in domain %(domain)s."
msgstr ""
-#: nova/exception.py:631
+#: nova/exception.py:633
#, python-format
msgid "Floating ip not found for address %(address)s."
msgstr ""
-#: nova/exception.py:635
+#: nova/exception.py:637
#, python-format
msgid "Floating ip not found for host %(host)s."
msgstr ""
-#: nova/exception.py:639
+#: nova/exception.py:641
#, python-format
msgid "Multiple floating ips are found for address %(address)s."
msgstr ""
-#: nova/exception.py:643
+#: nova/exception.py:645
msgid "Floating ip pool not found."
msgstr ""
-#: nova/exception.py:648
+#: nova/exception.py:650
msgid "Zero floating ips available."
msgstr ""
-#: nova/exception.py:653
+#: nova/exception.py:655
#, python-format
msgid "Floating ip %(address)s is associated."
msgstr ""
-#: nova/exception.py:657
+#: nova/exception.py:659
#, python-format
msgid "Floating ip %(address)s is not associated."
msgstr ""
-#: nova/exception.py:661
+#: nova/exception.py:663
msgid "Zero floating ips exist."
msgstr ""
-#: nova/exception.py:665
+#: nova/exception.py:667
#, python-format
msgid "Interface %(interface)s not found."
msgstr ""
-#: nova/exception.py:669
-msgid "Cannot disassociate auto assigined floating ip"
+#: nova/exception.py:671 nova/api/ec2/cloud.py:1307
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
msgstr ""
-#: nova/exception.py:673
+#: nova/exception.py:675
#, python-format
msgid "Keypair %(name)s not found for user %(user_id)s"
msgstr ""
-#: nova/exception.py:677
-#, python-format
-msgid "Certificate %(certificate_id)s not found."
-msgstr ""
-
-#: nova/exception.py:681
+#: nova/exception.py:679
#, python-format
msgid "Service %(service_id)s could not be found."
msgstr ""
-#: nova/exception.py:685
+#: nova/exception.py:683
#, python-format
msgid "Host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:689
+#: nova/exception.py:687
#, python-format
msgid "Compute host %(host)s could not be found."
msgstr ""
-#: nova/exception.py:693
+#: nova/exception.py:691
#, python-format
msgid "Could not find binary %(binary)s on host %(host)s."
msgstr ""
-#: nova/exception.py:697
+#: nova/exception.py:695
#, python-format
msgid "Invalid reservation expiration %(expire)s."
msgstr ""
-#: nova/exception.py:701
+#: nova/exception.py:699
#, python-format
msgid ""
"Change would make usage less than 0 for the following resources: "
"%(unders)s"
msgstr ""
-#: nova/exception.py:706
+#: nova/exception.py:704
msgid "Quota could not be found"
msgstr ""
-#: nova/exception.py:710
+#: nova/exception.py:708
#, python-format
msgid "Unknown quota resources %(unknown)s."
msgstr ""
-#: nova/exception.py:714
+#: nova/exception.py:712
#, python-format
msgid "Quota for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:718
+#: nova/exception.py:716
#, python-format
msgid "Quota class %(class_name)s could not be found."
msgstr ""
-#: nova/exception.py:722
+#: nova/exception.py:720
#, python-format
msgid "Quota usage for project %(project_id)s could not be found."
msgstr ""
-#: nova/exception.py:726
+#: nova/exception.py:724
#, python-format
msgid "Quota reservation %(uuid)s could not be found."
msgstr ""
-#: nova/exception.py:730
+#: nova/exception.py:728
#, python-format
msgid "Quota exceeded for resources: %(overs)s"
msgstr ""
-#: nova/exception.py:734
+#: nova/exception.py:732
#, python-format
msgid "Security group %(security_group_id)s not found."
msgstr ""
-#: nova/exception.py:738
+#: nova/exception.py:736
#, python-format
msgid "Security group %(security_group_id)s not found for project %(project_id)s."
msgstr ""
-#: nova/exception.py:743
+#: nova/exception.py:741
#, python-format
msgid "Security group with rule %(rule_id)s not found."
msgstr ""
-#: nova/exception.py:747
+#: nova/exception.py:745
#, python-format
msgid ""
"Security group %(security_group_id)s is already associated with the "
"instance %(instance_id)s"
msgstr ""
-#: nova/exception.py:752
+#: nova/exception.py:750
#, python-format
msgid ""
"Security group %(security_group_id)s is not associated with the instance "
"%(instance_id)s"
msgstr ""
-#: nova/exception.py:757
+#: nova/exception.py:755
#, python-format
msgid "Security group default rule (%rule_id)s not found."
msgstr ""
-#: nova/exception.py:761
+#: nova/exception.py:759
msgid ""
"Network requires port_security_enabled and subnet associated in order to "
"apply security groups."
msgstr ""
-#: nova/exception.py:766
+#: nova/exception.py:764
msgid "No Unique Match Found."
msgstr ""
-#: nova/exception.py:771
+#: nova/exception.py:769
#, python-format
msgid "Migration %(migration_id)s could not be found."
msgstr ""
-#: nova/exception.py:775
+#: nova/exception.py:773
#, python-format
msgid "Migration not found for instance %(instance_id)s with status %(status)s."
msgstr ""
-#: nova/exception.py:780
+#: nova/exception.py:778
#, python-format
msgid "Console pool %(pool_id)s could not be found."
msgstr ""
-#: nova/exception.py:784
+#: nova/exception.py:782
#, python-format
msgid ""
"Console pool of type %(console_type)s for compute host %(compute_host)s "
"on proxy host %(host)s not found."
msgstr ""
-#: nova/exception.py:790
+#: nova/exception.py:788
#, python-format
msgid "Console %(console_id)s could not be found."
msgstr ""
-#: nova/exception.py:794
+#: nova/exception.py:792
#, python-format
msgid "Console for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:798
+#: nova/exception.py:796
#, python-format
msgid ""
"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
"found."
msgstr ""
-#: nova/exception.py:803
+#: nova/exception.py:801
#, python-format
msgid "Invalid console type %(console_type)s"
msgstr ""
-#: nova/exception.py:807
+#: nova/exception.py:805
#, python-format
msgid "Instance type %(instance_type_id)s could not be found."
msgstr ""
-#: nova/exception.py:811
+#: nova/exception.py:809
#, python-format
msgid "Instance type with name %(instance_type_name)s could not be found."
msgstr ""
-#: nova/exception.py:816
+#: nova/exception.py:814
#, python-format
msgid "Flavor %(flavor_id)s could not be found."
msgstr ""
-#: nova/exception.py:820
+#: nova/exception.py:818
#, python-format
msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
msgstr ""
-#: nova/exception.py:825
+#: nova/exception.py:823
#, python-format
msgid "Cell %(cell_name)s doesn't exist."
msgstr ""
-#: nova/exception.py:829
+#: nova/exception.py:827
+#, python-format
+msgid "Cell with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:831
#, python-format
msgid "Inconsistency in cell routing: %(reason)s"
msgstr ""
-#: nova/exception.py:833
+#: nova/exception.py:835
#, python-format
msgid "Service API method not found: %(detail)s"
msgstr ""
-#: nova/exception.py:837
+#: nova/exception.py:839
msgid "Timeout waiting for response from cell"
msgstr ""
-#: nova/exception.py:841
+#: nova/exception.py:843
#, python-format
msgid "Cell message has reached maximum hop count: %(hop_count)s"
msgstr ""
-#: nova/exception.py:845
+#: nova/exception.py:847
msgid "No cells available matching scheduling criteria."
msgstr ""
-#: nova/exception.py:849
+#: nova/exception.py:851
#, python-format
msgid "Exception received during cell processing: %(exc_name)s."
msgstr ""
-#: nova/exception.py:853
+#: nova/exception.py:855
#, python-format
msgid "Cell is not known for instance %(instance_uuid)s"
msgstr ""
-#: nova/exception.py:857
+#: nova/exception.py:859
#, python-format
msgid "Scheduler Host Filter %(filter_name)s could not be found."
msgstr ""
-#: nova/exception.py:861
+#: nova/exception.py:863
#, python-format
msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:866
+#: nova/exception.py:868
#, python-format
msgid ""
"Instance %(instance_uuid)s has no system metadata with key "
"%(metadata_key)s."
msgstr ""
-#: nova/exception.py:871
+#: nova/exception.py:873
#, python-format
msgid ""
"Instance Type %(instance_type_id)s has no extra specs with key "
"%(extra_specs_key)s."
msgstr ""
-#: nova/exception.py:876
+#: nova/exception.py:878
#, python-format
msgid "File %(file_path)s could not be found."
msgstr ""
-#: nova/exception.py:880
+#: nova/exception.py:882
msgid "Zero files could be found."
msgstr ""
-#: nova/exception.py:884
+#: nova/exception.py:886
#, python-format
msgid "Virtual switch associated with the network adapter %(adapter)s not found."
msgstr ""
-#: nova/exception.py:889
+#: nova/exception.py:891
#, python-format
msgid "Network adapter %(adapter)s could not be found."
msgstr ""
-#: nova/exception.py:893
+#: nova/exception.py:895
#, python-format
msgid "Class %(class_name)s could not be found: %(exception)s"
msgstr ""
-#: nova/exception.py:897
+#: nova/exception.py:899
msgid "Action not allowed."
msgstr ""
-#: nova/exception.py:901
+#: nova/exception.py:903
msgid "Rotation is not allowed for snapshots"
msgstr ""
-#: nova/exception.py:905
+#: nova/exception.py:907
msgid "Rotation param is required for backup image_type"
msgstr ""
-#: nova/exception.py:909 nova/tests/compute/test_keypairs.py:118
+#: nova/exception.py:911 nova/tests/compute/test_keypairs.py:118
#, python-format
msgid "Key pair '%(key_name)s' already exists."
msgstr ""
-#: nova/exception.py:913
+#: nova/exception.py:915
#, python-format
msgid "Instance %(name)s already exists."
msgstr ""
-#: nova/exception.py:917
+#: nova/exception.py:919
#, python-format
msgid "Instance Type with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:921
+#: nova/exception.py:923
#, python-format
msgid "Instance Type with ID %(flavor_id)s already exists."
msgstr ""
-#: nova/exception.py:925
+#: nova/exception.py:927
#, python-format
msgid ""
-"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"Flavor access already exists for flavor %(flavor_id)s and project "
"%(project_id)s combination."
msgstr ""
-#: nova/exception.py:930
+#: nova/exception.py:932
#, python-format
msgid "%(path)s is not on shared storage: %(reason)s"
msgstr ""
-#: nova/exception.py:934
+#: nova/exception.py:936
#, python-format
msgid "%(path)s is not on local storage: %(reason)s"
msgstr ""
-#: nova/exception.py:938
+#: nova/exception.py:940
msgid "Migration error"
msgstr ""
-#: nova/exception.py:942
+#: nova/exception.py:944
msgid "Migration pre-check error"
msgstr ""
-#: nova/exception.py:946
+#: nova/exception.py:948
#, python-format
msgid "Malformed message body: %(reason)s"
msgstr ""
-#: nova/exception.py:952
+#: nova/exception.py:954
#, python-format
msgid "Could not find config at %(path)s"
msgstr ""
-#: nova/exception.py:956
+#: nova/exception.py:958
#, python-format
msgid "Could not load paste app '%(name)s' from %(path)s"
msgstr ""
-#: nova/exception.py:960
+#: nova/exception.py:962
msgid "When resizing, instances must change flavor!"
msgstr ""
-#: nova/exception.py:964
+#: nova/exception.py:966
#, python-format
msgid "Resize error: %(reason)s"
msgstr ""
-#: nova/exception.py:968
+#: nova/exception.py:970
#, python-format
msgid "Server disk was unable to be resized because: %(reason)s"
msgstr ""
-#: nova/exception.py:972
+#: nova/exception.py:974
msgid "Instance type's memory is too small for requested image."
msgstr ""
-#: nova/exception.py:976
+#: nova/exception.py:978
msgid "Instance type's disk is too small for requested image."
msgstr ""
-#: nova/exception.py:980
+#: nova/exception.py:982
#, python-format
msgid "Insufficient free memory on compute node to start %(uuid)s."
msgstr ""
-#: nova/exception.py:984
+#: nova/exception.py:986
msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
msgstr ""
-#: nova/exception.py:988
+#: nova/exception.py:990
#, python-format
msgid "No valid host was found. %(reason)s"
msgstr ""
-#: nova/exception.py:992
+#: nova/exception.py:994
msgid "Quota exceeded"
msgstr ""
-#: nova/exception.py:999
+#: nova/exception.py:1001
#, python-format
msgid ""
"Quota exceeded for %(overs)s: Requested %(req)s, but already used "
"%(used)d of %(allowed)d %(resource)s"
msgstr ""
-#: nova/exception.py:1004
+#: nova/exception.py:1006
msgid "Maximum number of floating ips exceeded"
msgstr ""
-#: nova/exception.py:1008
+#: nova/exception.py:1010
msgid "Maximum number of fixed ips exceeded"
msgstr ""
-#: nova/exception.py:1012
+#: nova/exception.py:1014
#, python-format
msgid "Maximum number of metadata items exceeds %(allowed)d"
msgstr ""
-#: nova/exception.py:1016
+#: nova/exception.py:1018
msgid "Personality file limit exceeded"
msgstr ""
-#: nova/exception.py:1020
+#: nova/exception.py:1022
msgid "Personality file path too long"
msgstr ""
-#: nova/exception.py:1024
+#: nova/exception.py:1026
msgid "Personality file content too long"
msgstr ""
-#: nova/exception.py:1028 nova/tests/compute/test_keypairs.py:129
+#: nova/exception.py:1030 nova/tests/compute/test_keypairs.py:129
msgid "Maximum number of key pairs exceeded"
msgstr ""
-#: nova/exception.py:1032
+#: nova/exception.py:1034
msgid "Maximum number of security groups or rules exceeded"
msgstr ""
-#: nova/exception.py:1036
+#: nova/exception.py:1038
#, python-format
msgid ""
"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
"%(reason)s."
msgstr ""
-#: nova/exception.py:1041
+#: nova/exception.py:1043
#, python-format
msgid "Aggregate %(aggregate_id)s could not be found."
msgstr ""
-#: nova/exception.py:1045
+#: nova/exception.py:1047
#, python-format
msgid "Aggregate %(aggregate_name)s already exists."
msgstr ""
-#: nova/exception.py:1049
+#: nova/exception.py:1051
#, python-format
msgid "Aggregate %(aggregate_id)s has no host %(host)s."
msgstr ""
-#: nova/exception.py:1053
+#: nova/exception.py:1055
#, python-format
msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1058
+#: nova/exception.py:1060
#, python-format
msgid "Aggregate %(aggregate_id)s already has host %(host)s."
msgstr ""
-#: nova/exception.py:1062
+#: nova/exception.py:1064
msgid "Unable to create instance type"
msgstr ""
-#: nova/exception.py:1066
+#: nova/exception.py:1068
#, python-format
msgid "Failed to set admin password on %(instance)s because %(reason)s"
msgstr ""
-#: nova/exception.py:1072
+#: nova/exception.py:1074
#, python-format
msgid "Detected existing vlan with id %(vlan)d"
msgstr ""
-#: nova/exception.py:1076
+#: nova/exception.py:1078
msgid "There was a conflict when trying to complete your request."
msgstr ""
-#: nova/exception.py:1081
+#: nova/exception.py:1083
#, python-format
msgid "Instance %(instance_id)s could not be found."
msgstr ""
-#: nova/exception.py:1085
+#: nova/exception.py:1087
#, python-format
msgid "Info cache for instance %(instance_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1090
+#: nova/exception.py:1092
#, python-format
msgid "Node %(node_id)s could not be found."
msgstr ""
-#: nova/exception.py:1094
+#: nova/exception.py:1096
#, python-format
msgid "Node with UUID %(node_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1098
+#: nova/exception.py:1100
#, python-format
msgid "Marker %(marker)s could not be found."
msgstr ""
-#: nova/exception.py:1102
+#: nova/exception.py:1104
#, python-format
msgid "Invalid id: %(val)s (expecting \"i-...\")."
msgstr ""
-#: nova/exception.py:1106
+#: nova/exception.py:1108
#, python-format
msgid "Could not fetch image %(image_id)s"
msgstr ""
-#: nova/exception.py:1110
+#: nova/exception.py:1112
#, python-format
msgid "Could not upload image %(image_id)s"
msgstr ""
-#: nova/exception.py:1114
+#: nova/exception.py:1116
#, python-format
msgid "Task %(task_name)s is already running on host %(host)s"
msgstr ""
-#: nova/exception.py:1118
+#: nova/exception.py:1120
#, python-format
msgid "Task %(task_name)s is not running on host %(host)s"
msgstr ""
-#: nova/exception.py:1122
+#: nova/exception.py:1124
#, python-format
msgid "Instance %(instance_uuid)s is locked"
msgstr ""
-#: nova/exception.py:1126
+#: nova/exception.py:1128
+#, python-format
+msgid "Invalid value for Config Drive option: %(option)s"
+msgstr ""
+
+#: nova/exception.py:1132
#, python-format
msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
msgstr ""
-#: nova/exception.py:1131
+#: nova/exception.py:1137
#, python-format
msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
msgstr ""
-#: nova/exception.py:1136
+#: nova/exception.py:1142
#, fuzzy, python-format
msgid "Failed to attach network adapter device to %(instance)s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/exception.py:1140
+#: nova/exception.py:1146
#, python-format
msgid "Failed to detach network adapter device from %(instance)s"
msgstr ""
-#: nova/exception.py:1144
+#: nova/exception.py:1150
#, python-format
msgid ""
"User data too large. User data must be no larger than %(maxsize)s bytes "
"once base64 encoded. Your data is %(length)d bytes"
msgstr ""
-#: nova/exception.py:1150
+#: nova/exception.py:1156
msgid "User data needs to be valid base 64."
msgstr ""
-#: nova/exception.py:1154
+#: nova/exception.py:1160
#, python-format
msgid ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1159
+#: nova/exception.py:1165
#, python-format
msgid ""
"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
"found"
msgstr ""
-#: nova/exception.py:1164
+#: nova/exception.py:1170
#, python-format
msgid "Event %(event)s not found for action id %(action_id)s"
msgstr ""
-#: nova/exception.py:1168
+#: nova/exception.py:1174
#, python-format
msgid ""
"unexpected VM state: expecting %(expected)s but the actual state is "
"%(actual)s"
msgstr ""
-#: nova/exception.py:1173
+#: nova/exception.py:1179
#, python-format
msgid "The CA file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1177
+#: nova/exception.py:1183
#, python-format
msgid "The CRL file for %(project)s could not be found"
msgstr ""
-#: nova/exception.py:1181
+#: nova/exception.py:1187
msgid "Instance recreate is not implemented by this virt driver."
msgstr ""
-#: nova/exception.py:1185
+#: nova/exception.py:1191
#, python-format
msgid ""
"The service from servicegroup driver %(driver)s is temporarily "
"unavailable."
msgstr ""
-#: nova/exception.py:1190
+#: nova/exception.py:1196
#, python-format
msgid "%(binary)s attempted direct database access which is not allowed by policy"
msgstr ""
-#: nova/exception.py:1195
+#: nova/exception.py:1201
#, python-format
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
msgstr ""
-#: nova/exception.py:1200
+#: nova/exception.py:1206
#, python-format
msgid ""
"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
"driver"
msgstr ""
-#: nova/exception.py:1205
+#: nova/exception.py:1211
#, python-format
msgid "Invalid Base 64 data for file %(path)s"
msgstr ""
-#: nova/exception.py:1209
+#: nova/exception.py:1215
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
msgstr "掛載點 %(mountpoint)s 掛載到虛擬機器 %(instance_name)s"
-#: nova/exception.py:1213
+#: nova/exception.py:1219
#, fuzzy, python-format
msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)s"
msgstr "掛載點 %(mountpoint)s 掛載到虛擬機器 %(instance_name)s"
-#: nova/exception.py:1218
+#: nova/exception.py:1224
#, python-format
msgid "Shadow table with name %(name)s already exists."
msgstr ""
-#: nova/exception.py:1223
+#: nova/exception.py:1229
#, python-format
msgid "Instance rollback performed due to: %s"
msgstr ""
-#: nova/exception.py:1229
+#: nova/exception.py:1235
#, python-format
msgid "Unsupported object type %(objtype)s"
msgstr ""
-#: nova/exception.py:1233
+#: nova/exception.py:1239
#, python-format
msgid "Cannot call %(method)s on orphaned %(objtype)s object"
msgstr ""
-#: nova/exception.py:1237
+#: nova/exception.py:1243
#, python-format
msgid "Version %(objver)s of %(objname)s is not supported"
msgstr ""
-#: nova/exception.py:1241
+#: nova/exception.py:1247
#, python-format
msgid "Core API extensions are missing: %(missing_apis)s"
msgstr ""
-#: nova/exception.py:1245
+#: nova/exception.py:1251
+#, python-format
+msgid "Error during following call to agent: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1255
+#, python-format
+msgid "Unable to contact guest agent. The following call timed out: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1260
+#, python-format
+msgid "Agent does not support the call: %(method)s"
+msgstr ""
+
+#: nova/exception.py:1264
#, python-format
msgid "Instance group %(group_uuid)s could not be found."
msgstr ""
-#: nova/exception.py:1249
+#: nova/exception.py:1268
#, python-format
msgid "Instance group %(group_uuid)s already exists."
msgstr ""
-#: nova/exception.py:1253
+#: nova/exception.py:1272
#, python-format
msgid "Instance group %(group_uuid)s has no metadata with key %(metadata_key)s."
msgstr ""
-#: nova/exception.py:1258
+#: nova/exception.py:1277
#, python-format
msgid "Instance group %(group_uuid)s has no member with id %(instance_id)s."
msgstr ""
-#: nova/exception.py:1263
+#: nova/exception.py:1282
#, python-format
msgid "Instance group %(group_uuid)s has no policy %(policy)s."
msgstr ""
@@ -1369,15 +1390,15 @@ msgstr ""
msgid "Running %(name)s post-hook: %(obj)s"
msgstr ""
-#: nova/manager.py:172
+#: nova/manager.py:162
msgid "Notifying Schedulers of capabilities ..."
msgstr ""
-#: nova/notifications.py:112 nova/notifications.py:152
+#: nova/notifications.py:116 nova/notifications.py:156
msgid "Failed to send state update notification"
msgstr ""
-#: nova/notifications.py:233
+#: nova/notifications.py:241
msgid "Failed to get nw_info"
msgstr ""
@@ -1399,17 +1420,17 @@ msgstr ""
msgid "Failed to commit reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:996
+#: nova/quota.py:997
#, python-format
msgid "Committed reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1016
+#: nova/quota.py:1017
#, python-format
msgid "Failed to roll back reservations %(reservations)s"
msgstr ""
-#: nova/quota.py:1018
+#: nova/quota.py:1020
#, python-format
msgid "Rolled back reservations %(reservations)s"
msgstr ""
@@ -1442,120 +1463,130 @@ msgstr ""
msgid "serve() can only be called once"
msgstr ""
-#: nova/utils.py:143
+#: nova/utils.py:150
#, python-format
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:171
+#: nova/utils.py:178
#, python-format
msgid "debug in callback: %s"
msgstr ""
-#: nova/utils.py:334
+#: nova/utils.py:362
#, python-format
-msgid "Link Local address is not found.:%s"
+msgid "Couldn't get IPv4 : %(ex)s"
msgstr ""
-#: nova/utils.py:337
+#: nova/utils.py:379
#, python-format
-msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgid "IPv4 address is not found.: %s"
msgstr ""
-#: nova/utils.py:376
+#: nova/utils.py:382
#, python-format
-msgid "Invalid backend: %s"
+msgid "Couldn't get IPv4 of %(interface)s : %(ex)s"
msgstr ""
-#: nova/utils.py:437
+#: nova/utils.py:397
#, python-format
-msgid "Unknown byte multiplier: %s"
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:400
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:439
+#, python-format
+msgid "Invalid backend: %s"
msgstr ""
-#: nova/utils.py:566
+#: nova/utils.py:589
#, python-format
msgid "Expected object of type: %s"
msgstr ""
-#: nova/utils.py:595
+#: nova/utils.py:618
#, python-format
msgid "Invalid server_string: %s"
msgstr ""
-#: nova/utils.py:737
+#: nova/utils.py:760
#, python-format
msgid "timefunc: '%(name)s' took %(total_time).2f secs"
msgstr ""
-#: nova/utils.py:803
+#: nova/utils.py:814 nova/openstack/common/fileutils.py:64
#, python-format
msgid "Reloading cached file %s"
msgstr ""
-#: nova/utils.py:937 nova/virt/configdrive.py:177
+#: nova/utils.py:936 nova/virt/configdrive.py:177
#, python-format
msgid "Could not remove tmpdir: %s"
msgstr ""
-#: nova/utils.py:1097
+#: nova/utils.py:1103
#, python-format
msgid "%s is not a string or unicode"
msgstr ""
-#: nova/utils.py:1101
+#: nova/utils.py:1107
#, python-format
msgid "%(name)s has less than %(min_length)s characters."
msgstr ""
-#: nova/utils.py:1106
+#: nova/utils.py:1112
#, python-format
msgid "%(name)s has more than %(max_length)s characters."
msgstr ""
-#: nova/wsgi.py:122
+#: nova/wsgi.py:125
#, python-format
msgid "%(name)s listening on %(host)s:%(port)s"
msgstr ""
-#: nova/wsgi.py:137
+#: nova/wsgi.py:140
#, fuzzy, python-format
msgid "Unable to find cert_file : %s"
msgstr "找ä¸åˆ°Volume %s"
-#: nova/wsgi.py:141
+#: nova/wsgi.py:144
#, fuzzy, python-format
msgid "Unable to find ca_file : %s"
msgstr "找ä¸åˆ°Volume %s"
-#: nova/wsgi.py:145
+#: nova/wsgi.py:148
#, fuzzy, python-format
msgid "Unable to find key_file : %s"
msgstr "找ä¸åˆ°Volume %s"
-#: nova/wsgi.py:149
+#: nova/wsgi.py:152
msgid ""
"When running server in SSL mode, you must specify both a cert_file and "
"key_file option value in your configuration file"
msgstr ""
-#: nova/wsgi.py:180
+#: nova/wsgi.py:183
#, python-format
msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
msgstr ""
-#: nova/wsgi.py:207
+#: nova/wsgi.py:210
msgid "Stopping WSGI server."
msgstr ""
-#: nova/wsgi.py:225
+#: nova/wsgi.py:228
msgid "WSGI server has stopped."
msgstr ""
-#: nova/wsgi.py:294
+#: nova/wsgi.py:297
msgid "You must implement __call__"
msgstr ""
-#: nova/wsgi.py:480
+#: nova/wsgi.py:483
#, python-format
msgid "Loading app %(name)s from %(path)s"
msgstr ""
@@ -1569,7 +1600,7 @@ msgid "Sourcing roles from deprecated X-Role HTTP header"
msgstr ""
#: nova/api/sizelimit.py:53 nova/api/sizelimit.py:62 nova/api/sizelimit.py:76
-#: nova/api/metadata/password.py:62
+#: nova/api/metadata/password.py:61
msgid "Request is too large."
msgstr ""
@@ -1715,261 +1746,256 @@ msgstr ""
msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
msgstr ""
-#: nova/api/ec2/cloud.py:402
+#: nova/api/ec2/cloud.py:401
#, python-format
msgid "Create snapshot of volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:427
+#: nova/api/ec2/cloud.py:426
#, python-format
msgid "Could not find key pair(s): %s"
msgstr ""
-#: nova/api/ec2/cloud.py:444
+#: nova/api/ec2/cloud.py:443
#, python-format
msgid "Create key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:451 nova/api/ec2/cloud.py:470
+#: nova/api/ec2/cloud.py:450 nova/api/ec2/cloud.py:469
#: nova/api/openstack/compute/contrib/keypairs.py:93
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:94
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:95
msgid "Quota exceeded, too many key pairs."
msgstr ""
-#: nova/api/ec2/cloud.py:460
+#: nova/api/ec2/cloud.py:459
#, python-format
msgid "Import key %s"
msgstr ""
-#: nova/api/ec2/cloud.py:480
+#: nova/api/ec2/cloud.py:479
#, python-format
msgid "Delete key pair %s"
msgstr ""
-#: nova/api/ec2/cloud.py:622 nova/api/ec2/cloud.py:742
+#: nova/api/ec2/cloud.py:621 nova/api/ec2/cloud.py:741
msgid "Not enough parameters, need group_name or group_id"
msgstr ""
-#: nova/api/ec2/cloud.py:627
+#: nova/api/ec2/cloud.py:626
#, python-format
msgid "%s Not enough parameters to build a valid rule"
msgstr ""
-#: nova/api/ec2/cloud.py:634
+#: nova/api/ec2/cloud.py:633
#, python-format
msgid "Invalid IP protocol %s."
msgstr ""
-#: nova/api/ec2/cloud.py:664 nova/api/ec2/cloud.py:696
+#: nova/api/ec2/cloud.py:663 nova/api/ec2/cloud.py:695
msgid "No rule for the specified parameters."
msgstr ""
-#: nova/api/ec2/cloud.py:687
+#: nova/api/ec2/cloud.py:686
#, python-format
msgid "%s - This rule already exists in group"
msgstr ""
-#: nova/api/ec2/cloud.py:770
+#: nova/api/ec2/cloud.py:769
#, python-format
msgid "Get console output for instance %s"
msgstr ""
-#: nova/api/ec2/cloud.py:843
+#: nova/api/ec2/cloud.py:840
#, python-format
msgid "Create volume from snapshot %s"
msgstr ""
-#: nova/api/ec2/cloud.py:847 nova/api/openstack/compute/contrib/volumes.py:242
+#: nova/api/ec2/cloud.py:844 nova/api/openstack/compute/contrib/volumes.py:242
#, python-format
msgid "Create volume of %s GB"
msgstr ""
-#: nova/api/ec2/cloud.py:874
+#: nova/api/ec2/cloud.py:871
msgid "Delete Failed"
msgstr ""
-#: nova/api/ec2/cloud.py:887
+#: nova/api/ec2/cloud.py:884
#, python-format
msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
msgstr ""
-#: nova/api/ec2/cloud.py:898
+#: nova/api/ec2/cloud.py:895
msgid "Attach Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:920 nova/api/openstack/compute/contrib/volumes.py:445
+#: nova/api/ec2/cloud.py:917 nova/api/openstack/compute/contrib/volumes.py:445
#, python-format
msgid "Detach volume %s"
msgstr ""
-#: nova/api/ec2/cloud.py:927
+#: nova/api/ec2/cloud.py:924
msgid "Detach Volume Failed."
msgstr ""
-#: nova/api/ec2/cloud.py:953 nova/api/ec2/cloud.py:1010
-#: nova/api/ec2/cloud.py:1576 nova/api/ec2/cloud.py:1591
+#: nova/api/ec2/cloud.py:950 nova/api/ec2/cloud.py:1007
+#: nova/api/ec2/cloud.py:1573 nova/api/ec2/cloud.py:1588
#, python-format
msgid "attribute not supported: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1085
+#: nova/api/ec2/cloud.py:1082
#, python-format
msgid "vol = %s\n"
msgstr ""
-#: nova/api/ec2/cloud.py:1245
+#: nova/api/ec2/cloud.py:1242
msgid "Allocate address"
msgstr ""
-#: nova/api/ec2/cloud.py:1249
+#: nova/api/ec2/cloud.py:1246
msgid "No more floating IPs available"
msgstr ""
-#: nova/api/ec2/cloud.py:1253
+#: nova/api/ec2/cloud.py:1250
#, python-format
msgid "Release address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1258
+#: nova/api/ec2/cloud.py:1255
msgid "Unable to release IP Address."
msgstr ""
-#: nova/api/ec2/cloud.py:1261
+#: nova/api/ec2/cloud.py:1258
#, python-format
msgid "Associate address %(public_ip)s to instance %(instance_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1271
+#: nova/api/ec2/cloud.py:1268
msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
-#: nova/api/ec2/cloud.py:1279
+#: nova/api/ec2/cloud.py:1276
#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1288
+#: nova/api/ec2/cloud.py:1285
msgid "Floating ip is already associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1291
+#: nova/api/ec2/cloud.py:1288
msgid "l3driver call to add floating ip failed."
msgstr ""
-#: nova/api/ec2/cloud.py:1294
+#: nova/api/ec2/cloud.py:1291
msgid "Error, unable to associate floating ip."
msgstr ""
-#: nova/api/ec2/cloud.py:1302
+#: nova/api/ec2/cloud.py:1299
#, python-format
msgid "Disassociate address %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1307
+#: nova/api/ec2/cloud.py:1304
msgid "Floating ip is not associated."
msgstr ""
-#: nova/api/ec2/cloud.py:1310
-#: nova/api/openstack/compute/contrib/floating_ips.py:97
-msgid "Cannot disassociate auto assigned floating ip"
-msgstr ""
-
-#: nova/api/ec2/cloud.py:1337
+#: nova/api/ec2/cloud.py:1334
msgid "Image must be available"
msgstr ""
-#: nova/api/ec2/cloud.py:1375
+#: nova/api/ec2/cloud.py:1372
msgid "Going to start terminating instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1385
+#: nova/api/ec2/cloud.py:1382
#, python-format
msgid "Reboot instance %r"
msgstr ""
-#: nova/api/ec2/cloud.py:1395
+#: nova/api/ec2/cloud.py:1392
msgid "Going to stop instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1405
+#: nova/api/ec2/cloud.py:1402
msgid "Going to start instances"
msgstr ""
-#: nova/api/ec2/cloud.py:1496
+#: nova/api/ec2/cloud.py:1493
#, python-format
msgid "De-registering image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1512
+#: nova/api/ec2/cloud.py:1509
msgid "imageLocation is required"
msgstr ""
-#: nova/api/ec2/cloud.py:1531
+#: nova/api/ec2/cloud.py:1528
#, python-format
msgid "Registered image %(image_location)s with id %(image_id)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1594
+#: nova/api/ec2/cloud.py:1591
msgid "user or group not specified"
msgstr ""
-#: nova/api/ec2/cloud.py:1596
+#: nova/api/ec2/cloud.py:1593
msgid "only group \"all\" is supported"
msgstr ""
-#: nova/api/ec2/cloud.py:1598
+#: nova/api/ec2/cloud.py:1595
msgid "operation_type must be add or remove"
msgstr ""
-#: nova/api/ec2/cloud.py:1600
+#: nova/api/ec2/cloud.py:1597
#, python-format
msgid "Updating image %s publicity"
msgstr ""
-#: nova/api/ec2/cloud.py:1613
+#: nova/api/ec2/cloud.py:1610
#, python-format
msgid "Not allowed to modify attributes for image %s"
msgstr ""
-#: nova/api/ec2/cloud.py:1641
+#: nova/api/ec2/cloud.py:1638
#, python-format
msgid ""
"Invalid value '%(ec2_instance_id)s' for instanceId. Instance does not "
"have a volume attached at root (%(root)s)"
msgstr ""
-#: nova/api/ec2/cloud.py:1673
+#: nova/api/ec2/cloud.py:1670
#, python-format
msgid "Couldn't stop instance with in %d sec"
msgstr ""
-#: nova/api/ec2/cloud.py:1691
+#: nova/api/ec2/cloud.py:1688
#, python-format
msgid "image of %(instance)s at %(now)s"
msgstr ""
-#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
+#: nova/api/ec2/cloud.py:1713 nova/api/ec2/cloud.py:1758
msgid "resource_id and tag are required"
msgstr ""
-#: nova/api/ec2/cloud.py:1719 nova/api/ec2/cloud.py:1764
+#: nova/api/ec2/cloud.py:1716 nova/api/ec2/cloud.py:1761
msgid "Expecting a list of resources"
msgstr ""
-#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
+#: nova/api/ec2/cloud.py:1720 nova/api/ec2/cloud.py:1765
msgid "Only instances implemented"
msgstr ""
-#: nova/api/ec2/cloud.py:1726 nova/api/ec2/cloud.py:1771
+#: nova/api/ec2/cloud.py:1723 nova/api/ec2/cloud.py:1768
msgid "Expecting a list of tagSets"
msgstr ""
-#: nova/api/ec2/cloud.py:1783
+#: nova/api/ec2/cloud.py:1780
msgid "Expecting key to be set"
msgstr ""
-#: nova/api/ec2/cloud.py:1856
+#: nova/api/ec2/cloud.py:1853
msgid "Invalid CIDR"
msgstr ""
@@ -2140,89 +2166,107 @@ msgstr ""
msgid "Invalid image metadata"
msgstr ""
-#: nova/api/openstack/common.py:362
+#: nova/api/openstack/common.py:363
#, python-format
msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
msgstr ""
#: nova/api/openstack/common.py:366
#, python-format
+msgid "Cannot '%s' an instance which has never been active"
+msgstr ""
+
+#: nova/api/openstack/common.py:369
+#, python-format
msgid "Instance is in an invalid state for '%s'"
msgstr ""
-#: nova/api/openstack/common.py:446
+#: nova/api/openstack/common.py:449
msgid "Rejecting snapshot request, snapshots currently disabled"
msgstr ""
-#: nova/api/openstack/common.py:448
+#: nova/api/openstack/common.py:451
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:196
+#: nova/api/openstack/extensions.py:197
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#: nova/api/openstack/compute/plugins/__init__.py:46
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#: nova/api/openstack/compute/plugins/__init__.py:47
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:237
+#: nova/api/openstack/extensions.py:238
#: nova/api/openstack/compute/plugins/__init__.py:48
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#: nova/api/openstack/compute/plugins/__init__.py:50
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:240
+#: nova/api/openstack/extensions.py:241
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:242
+#: nova/api/openstack/extensions.py:243
#: nova/api/openstack/compute/plugins/__init__.py:53
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:256
+#: nova/api/openstack/extensions.py:257
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:265
+#: nova/api/openstack/extensions.py:266
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:277
+#: nova/api/openstack/extensions.py:278
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:348
+#: nova/api/openstack/extensions.py:349
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:371
+#: nova/api/openstack/extensions.py:372
#, python-format
msgid "Failed to load extension %(ext_name)s:%(exc)s"
msgstr ""
+#: nova/api/openstack/extensions.py:485
+msgid "Unexpected exception in API method"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:486
+#, python-format
+msgid ""
+"Unexpected API Error. Please report this at "
+"http://bugs.launchpad.net/nova/ and attach the Nova API log if possible."
+"\n"
+"%s"
+msgstr ""
+
#: nova/api/openstack/wsgi.py:208 nova/api/openstack/wsgi.py:626
msgid "cannot understand JSON"
msgstr ""
@@ -2270,6 +2314,7 @@ msgstr ""
#: nova/api/openstack/compute/server_metadata.py:126
#: nova/api/openstack/compute/contrib/admin_actions.py:211
#: nova/api/openstack/compute/contrib/evacuate.py:47
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:48
msgid "Malformed request body"
msgstr ""
@@ -2316,21 +2361,24 @@ msgstr ""
msgid "subclasses must implement construct()!"
msgstr ""
-#: nova/api/openstack/compute/extensions.py:39
+#: nova/api/openstack/compute/extensions.py:38
msgid "Initializing extension manager."
msgstr ""
-#: nova/api/openstack/compute/flavors.py:107
+#: nova/api/openstack/compute/flavors.py:108
+#: nova/api/openstack/compute/plugins/v3/flavors.py:110
#, python-format
msgid "Invalid is_public filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:127
+#: nova/api/openstack/compute/flavors.py:128
+#: nova/api/openstack/compute/plugins/v3/flavors.py:130
#, python-format
msgid "Invalid minRam filter [%s]"
msgstr ""
-#: nova/api/openstack/compute/flavors.py:134
+#: nova/api/openstack/compute/flavors.py:135
+#: nova/api/openstack/compute/plugins/v3/flavors.py:137
#, python-format
msgid "Invalid minDisk filter [%s]"
msgstr ""
@@ -2338,6 +2386,8 @@ msgstr ""
#: nova/api/openstack/compute/image_metadata.py:36
#: nova/api/openstack/compute/images.py:141
#: nova/api/openstack/compute/images.py:157
+#: nova/api/openstack/compute/plugins/v3/images.py:146
+#: nova/api/openstack/compute/plugins/v3/images.py:164
msgid "Image not found."
msgstr ""
@@ -2362,6 +2412,7 @@ msgid "Invalid metadata key"
msgstr ""
#: nova/api/openstack/compute/images.py:162
+#: nova/api/openstack/compute/plugins/v3/images.py:169
msgid "You are not allowed to delete the image."
msgstr ""
@@ -2375,14 +2426,14 @@ msgstr ""
msgid "Instance is not a member of specified network"
msgstr ""
-#: nova/api/openstack/compute/limits.py:161
+#: nova/api/openstack/compute/limits.py:148
#, python-format
msgid ""
"Only %(value)s %(verb)s request(s) can be made to %(uri)s every "
"%(unit_string)s."
msgstr ""
-#: nova/api/openstack/compute/limits.py:288
+#: nova/api/openstack/compute/limits.py:276
msgid "This request was rate-limited."
msgstr ""
@@ -2399,6 +2450,7 @@ msgstr ""
#: nova/api/openstack/compute/servers.py:521
#: nova/api/openstack/compute/contrib/cells.py:317
+#: nova/api/openstack/compute/plugins/v3/cells.py:314
#: nova/api/openstack/compute/plugins/v3/servers.py:563
msgid "Invalid changes-since value"
msgstr ""
@@ -2415,274 +2467,278 @@ msgid "Flavor '%s' could not be found "
msgstr ""
#: nova/api/openstack/compute/servers.py:576
-#: nova/api/openstack/compute/servers.py:743
-#: nova/api/openstack/compute/servers.py:1009
-#: nova/api/openstack/compute/servers.py:1117
-#: nova/api/openstack/compute/servers.py:1290
+#: nova/api/openstack/compute/servers.py:745
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1119
+#: nova/api/openstack/compute/servers.py:1292
#: nova/api/openstack/compute/plugins/v3/servers.py:618
#: nova/api/openstack/compute/plugins/v3/servers.py:785
-#: nova/api/openstack/compute/plugins/v3/servers.py:1093
-#: nova/api/openstack/compute/plugins/v3/servers.py:1201
-#: nova/api/openstack/compute/plugins/v3/servers.py:1380
+#: nova/api/openstack/compute/plugins/v3/servers.py:1090
+#: nova/api/openstack/compute/plugins/v3/servers.py:1198
+#: nova/api/openstack/compute/plugins/v3/servers.py:1377
msgid "Instance could not be found"
msgstr ""
-#: nova/api/openstack/compute/servers.py:595
+#: nova/api/openstack/compute/servers.py:597
#: nova/api/openstack/compute/plugins/v3/servers.py:637
msgid "Device name cannot include spaces."
msgstr ""
-#: nova/api/openstack/compute/servers.py:612
+#: nova/api/openstack/compute/servers.py:614
#: nova/api/openstack/compute/plugins/v3/servers.py:654
#, python-format
msgid "Bad personality format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:615
+#: nova/api/openstack/compute/servers.py:617
#: nova/api/openstack/compute/plugins/v3/servers.py:657
msgid "Bad personality format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:618
+#: nova/api/openstack/compute/servers.py:620
#: nova/api/openstack/compute/plugins/v3/servers.py:660
#, python-format
msgid "Personality content for %s cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:649
+#: nova/api/openstack/compute/servers.py:651
#: nova/api/openstack/compute/plugins/v3/servers.py:691
msgid "Unknown argment : port"
msgstr ""
-#: nova/api/openstack/compute/servers.py:652
+#: nova/api/openstack/compute/servers.py:654
#: nova/api/openstack/compute/plugins/v3/servers.py:694
#, python-format
msgid "Bad port format: port uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:662
+#: nova/api/openstack/compute/servers.py:664
#: nova/api/openstack/compute/plugins/v3/servers.py:704
#, python-format
msgid "Bad networks format: network uuid is not in proper format (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:672
+#: nova/api/openstack/compute/servers.py:674
#: nova/api/openstack/compute/plugins/v3/servers.py:714
#, python-format
msgid "Invalid fixed IP address (%s)"
msgstr ""
-#: nova/api/openstack/compute/servers.py:685
+#: nova/api/openstack/compute/servers.py:687
#: nova/api/openstack/compute/plugins/v3/servers.py:727
#, python-format
msgid "Duplicate networks (%s) are not allowed"
msgstr ""
-#: nova/api/openstack/compute/servers.py:691
+#: nova/api/openstack/compute/servers.py:693
#: nova/api/openstack/compute/plugins/v3/servers.py:733
#, python-format
msgid "Bad network format: missing %s"
msgstr ""
-#: nova/api/openstack/compute/servers.py:694
-#: nova/api/openstack/compute/servers.py:795
+#: nova/api/openstack/compute/servers.py:696
+#: nova/api/openstack/compute/servers.py:797
#: nova/api/openstack/compute/plugins/v3/servers.py:736
msgid "Bad networks format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:720
+#: nova/api/openstack/compute/servers.py:722
#: nova/api/openstack/compute/plugins/v3/servers.py:762
msgid "Userdata content cannot be decoded"
msgstr ""
-#: nova/api/openstack/compute/servers.py:725
+#: nova/api/openstack/compute/servers.py:727
#: nova/api/openstack/compute/plugins/v3/servers.py:767
msgid "accessIPv4 is not proper IPv4 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:730
+#: nova/api/openstack/compute/servers.py:732
#: nova/api/openstack/compute/plugins/v3/servers.py:772
msgid "accessIPv6 is not proper IPv6 format"
msgstr ""
-#: nova/api/openstack/compute/servers.py:759
+#: nova/api/openstack/compute/servers.py:761
#: nova/api/openstack/compute/plugins/v3/servers.py:801
msgid "Server name is not defined"
msgstr ""
-#: nova/api/openstack/compute/servers.py:811
-#: nova/api/openstack/compute/servers.py:915
+#: nova/api/openstack/compute/servers.py:813
+#: nova/api/openstack/compute/servers.py:917
#: nova/api/openstack/compute/plugins/v3/servers.py:876
#: nova/api/openstack/compute/plugins/v3/servers.py:993
msgid "Invalid flavorRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:852
+#: nova/api/openstack/compute/servers.py:854
#: nova/api/openstack/compute/plugins/v3/servers.py:924
msgid "min_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:855
+#: nova/api/openstack/compute/servers.py:857
#: nova/api/openstack/compute/plugins/v3/servers.py:927
msgid "min_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:861
+#: nova/api/openstack/compute/servers.py:863
#: nova/api/openstack/compute/plugins/v3/servers.py:933
msgid "max_count must be an integer value"
msgstr ""
-#: nova/api/openstack/compute/servers.py:864
+#: nova/api/openstack/compute/servers.py:866
#: nova/api/openstack/compute/plugins/v3/servers.py:936
msgid "max_count must be > 0"
msgstr ""
-#: nova/api/openstack/compute/servers.py:868
+#: nova/api/openstack/compute/servers.py:870
#: nova/api/openstack/compute/plugins/v3/servers.py:940
msgid "min_count must be <= max_count"
msgstr ""
-#: nova/api/openstack/compute/servers.py:912
+#: nova/api/openstack/compute/servers.py:914
#: nova/api/openstack/compute/plugins/v3/servers.py:990
msgid "Can not find requested image"
msgstr ""
-#: nova/api/openstack/compute/servers.py:918
+#: nova/api/openstack/compute/servers.py:920
#: nova/api/openstack/compute/plugins/v3/servers.py:996
msgid "Invalid key_name provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:997
-#: nova/api/openstack/compute/plugins/v3/servers.py:1081
+#: nova/api/openstack/compute/servers.py:923
+msgid "Invalid config_drive provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+#: nova/api/openstack/compute/plugins/v3/servers.py:1078
msgid "HostId cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1001
-#: nova/api/openstack/compute/plugins/v3/servers.py:1085
+#: nova/api/openstack/compute/servers.py:1003
+#: nova/api/openstack/compute/plugins/v3/servers.py:1082
msgid "Personality cannot be updated."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1027
-#: nova/api/openstack/compute/servers.py:1044
-#: nova/api/openstack/compute/plugins/v3/servers.py:1111
-#: nova/api/openstack/compute/plugins/v3/servers.py:1128
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+#: nova/api/openstack/compute/plugins/v3/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1125
msgid "Instance has not been resized."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1047
-#: nova/api/openstack/compute/plugins/v3/servers.py:1131
+#: nova/api/openstack/compute/servers.py:1049
+#: nova/api/openstack/compute/plugins/v3/servers.py:1128
msgid "Flavor used by the instance could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1063
-#: nova/api/openstack/compute/plugins/v3/servers.py:1147
+#: nova/api/openstack/compute/servers.py:1065
+#: nova/api/openstack/compute/plugins/v3/servers.py:1144
msgid "Argument 'type' for reboot is not HARD or SOFT"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1067
-#: nova/api/openstack/compute/plugins/v3/servers.py:1151
+#: nova/api/openstack/compute/servers.py:1069
+#: nova/api/openstack/compute/plugins/v3/servers.py:1148
msgid "Missing argument 'type' for reboot"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1089
-#: nova/api/openstack/compute/plugins/v3/servers.py:1173
+#: nova/api/openstack/compute/servers.py:1091
+#: nova/api/openstack/compute/plugins/v3/servers.py:1170
msgid "Unable to locate requested flavor."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1092
-#: nova/api/openstack/compute/plugins/v3/servers.py:1176
+#: nova/api/openstack/compute/servers.py:1094
+#: nova/api/openstack/compute/plugins/v3/servers.py:1173
msgid "Resize requires a flavor change."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1098
-#: nova/api/openstack/compute/plugins/v3/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1100
+#: nova/api/openstack/compute/plugins/v3/servers.py:1179
msgid "You are not authorized to access the image the instance was started with."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1102
-#: nova/api/openstack/compute/plugins/v3/servers.py:1186
+#: nova/api/openstack/compute/servers.py:1104
+#: nova/api/openstack/compute/plugins/v3/servers.py:1183
msgid "Image that the instance was started with could not be found."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1106
-#: nova/api/openstack/compute/plugins/v3/servers.py:1190
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/plugins/v3/servers.py:1187
#, fuzzy
msgid "Invalid instance image."
msgstr "無效的快照(snapshot)"
-#: nova/api/openstack/compute/servers.py:1127
-#: nova/api/openstack/compute/plugins/v3/servers.py:1211
+#: nova/api/openstack/compute/servers.py:1129
+#: nova/api/openstack/compute/plugins/v3/servers.py:1208
msgid "Missing imageRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1136
-#: nova/api/openstack/compute/plugins/v3/servers.py:1220
+#: nova/api/openstack/compute/servers.py:1138
+#: nova/api/openstack/compute/plugins/v3/servers.py:1217
msgid "Invalid imageRef provided."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1163
-#: nova/api/openstack/compute/plugins/v3/servers.py:1253
+#: nova/api/openstack/compute/servers.py:1165
+#: nova/api/openstack/compute/plugins/v3/servers.py:1250
msgid "Missing flavorRef attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1176
-#: nova/api/openstack/compute/plugins/v3/servers.py:1266
+#: nova/api/openstack/compute/servers.py:1178
+#: nova/api/openstack/compute/plugins/v3/servers.py:1263
msgid "No adminPass was specified"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1180
-#: nova/api/openstack/compute/servers.py:1389
-#: nova/api/openstack/compute/plugins/v3/servers.py:1270
-#: nova/api/openstack/compute/plugins/v3/servers.py:1479
+#: nova/api/openstack/compute/servers.py:1182
+#: nova/api/openstack/compute/servers.py:1391
+#: nova/api/openstack/compute/plugins/v3/servers.py:1267
+#: nova/api/openstack/compute/plugins/v3/servers.py:1476
msgid "Invalid adminPass"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1186
-#: nova/api/openstack/compute/plugins/v3/servers.py:1276
+#: nova/api/openstack/compute/servers.py:1188
+#: nova/api/openstack/compute/plugins/v3/servers.py:1273
msgid "Unable to set password on instance"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1195
-#: nova/api/openstack/compute/plugins/v3/servers.py:1285
+#: nova/api/openstack/compute/servers.py:1197
+#: nova/api/openstack/compute/plugins/v3/servers.py:1282
msgid "Unable to parse metadata key/value pairs."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1208
-#: nova/api/openstack/compute/plugins/v3/servers.py:1298
+#: nova/api/openstack/compute/servers.py:1210
+#: nova/api/openstack/compute/plugins/v3/servers.py:1295
msgid "Resize request has invalid 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1211
-#: nova/api/openstack/compute/plugins/v3/servers.py:1301
+#: nova/api/openstack/compute/servers.py:1213
+#: nova/api/openstack/compute/plugins/v3/servers.py:1298
msgid "Resize requests require 'flavorRef' attribute."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1229
+#: nova/api/openstack/compute/servers.py:1231
#: nova/api/openstack/compute/contrib/aggregates.py:143
-#: nova/api/openstack/compute/contrib/coverage_ext.py:284
+#: nova/api/openstack/compute/contrib/coverage_ext.py:285
#: nova/api/openstack/compute/contrib/keypairs.py:78
-#: nova/api/openstack/compute/plugins/v3/keypairs.py:79
-#: nova/api/openstack/compute/plugins/v3/servers.py:1319
+#: nova/api/openstack/compute/plugins/v3/keypairs.py:80
+#: nova/api/openstack/compute/plugins/v3/servers.py:1316
msgid "Invalid request body"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1235
-#: nova/api/openstack/compute/plugins/v3/servers.py:1325
+#: nova/api/openstack/compute/servers.py:1237
+#: nova/api/openstack/compute/plugins/v3/servers.py:1322
msgid "Could not parse imageRef from request."
msgstr ""
-#: nova/api/openstack/compute/servers.py:1296
-#: nova/api/openstack/compute/plugins/v3/servers.py:1386
+#: nova/api/openstack/compute/servers.py:1298
+#: nova/api/openstack/compute/plugins/v3/servers.py:1383
msgid "Cannot find image for rebuild"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1330
-#: nova/api/openstack/compute/plugins/v3/servers.py:1420
+#: nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/plugins/v3/servers.py:1417
msgid "createImage entity requires name attribute"
msgstr ""
-#: nova/api/openstack/compute/servers.py:1415
-#: nova/api/openstack/compute/plugins/v3/servers.py:1501
+#: nova/api/openstack/compute/servers.py:1417
+#: nova/api/openstack/compute/plugins/v3/servers.py:1498
#, python-format
msgid "Removing options '%s' from query"
msgstr ""
@@ -2723,6 +2779,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/admin_actions.py:321
#: nova/api/openstack/compute/contrib/multinic.py:41
#: nova/api/openstack/compute/contrib/rescue.py:42
+#: nova/api/openstack/compute/plugins/v3/rescue.py:43
msgid "Server not found"
msgstr ""
@@ -2762,6 +2819,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/console_output.py:45
#: nova/api/openstack/compute/contrib/server_diagnostics.py:47
#: nova/api/openstack/compute/contrib/server_start_stop.py:41
+#: nova/api/openstack/compute/plugins/v3/server_diagnostics.py:48
msgid "Instance not found"
msgstr ""
@@ -2855,36 +2913,45 @@ msgid "Must specify id or address"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:210
+#: nova/api/openstack/compute/plugins/v3/cells.py:207
#, python-format
msgid "Cell %(id)s not found."
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:238
+#: nova/api/openstack/compute/plugins/v3/cells.py:235
msgid "Cell name cannot be empty"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:242
+#: nova/api/openstack/compute/plugins/v3/cells.py:239
msgid "Cell name cannot contain '!' or '.'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:249
+#: nova/api/openstack/compute/plugins/v3/cells.py:246
msgid "Cell type must be 'parent' or 'child'"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:269
#: nova/api/openstack/compute/contrib/cells.py:289
+#: nova/api/openstack/compute/plugins/v3/cells.py:266
+#: nova/api/openstack/compute/plugins/v3/cells.py:286
msgid "No cell information in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:274
+#: nova/api/openstack/compute/plugins/v3/cells.py:271
msgid "No cell name in request"
msgstr ""
#: nova/api/openstack/compute/contrib/cells.py:311
+#: nova/api/openstack/compute/plugins/v3/cells.py:308
msgid "Only 'updated_since' and 'project_id' are understood."
msgstr ""
-#: nova/api/openstack/compute/contrib/certificates.py:71
+#: nova/api/openstack/compute/contrib/certificates.py:62
+#: nova/api/openstack/compute/plugins/v3/certificates.py:63
msgid "Only root certificate can be retrieved."
msgstr ""
@@ -2925,33 +2992,33 @@ msgstr ""
msgid "Coverage begin"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:163
+#: nova/api/openstack/compute/contrib/coverage_ext.py:164
msgid "Coverage not running"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:192
+#: nova/api/openstack/compute/contrib/coverage_ext.py:193
#, fuzzy
msgid "Invalid path"
msgstr "無效的快照(snapshot)"
-#: nova/api/openstack/compute/contrib/coverage_ext.py:196
+#: nova/api/openstack/compute/contrib/coverage_ext.py:197
msgid "No path given for report file"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:203
+#: nova/api/openstack/compute/contrib/coverage_ext.py:204
msgid "You can't use html reports without combining"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:216
+#: nova/api/openstack/compute/contrib/coverage_ext.py:217
#, python-format
msgid "Directory conflict: %s already exists"
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:274
+#: nova/api/openstack/compute/contrib/coverage_ext.py:275
msgid "Python coverage module is not installed."
msgstr ""
-#: nova/api/openstack/compute/contrib/coverage_ext.py:282
+#: nova/api/openstack/compute/contrib/coverage_ext.py:283
#, python-format
msgid "Coverage doesn't have %s action"
msgstr ""
@@ -2962,40 +3029,47 @@ msgid "%s must be either 'MANUAL' or 'AUTO'."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:59
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:60
msgid "admin password can't be changed on existing disk"
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:67
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:68
msgid "host and onSharedStorage must be specified."
msgstr ""
#: nova/api/openstack/compute/contrib/evacuate.py:78
+#: nova/api/openstack/compute/plugins/v3/evacuate.py:79
#, python-format
msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:40
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:43
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:44
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
-#: nova/api/openstack/compute/contrib/fixed_ips.py:74
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:77
+#: nova/api/openstack/compute/contrib/fixed_ips.py:73
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:79
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:76
#: nova/api/openstack/compute/contrib/flavor_access.py:100
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:76
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:100
msgid "Flavor not found."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:105
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:105
msgid "Access list not available for public flavors."
msgstr ""
#: nova/api/openstack/compute/contrib/flavor_access.py:117
+#: nova/api/openstack/compute/plugins/v3/flavor_access.py:117
msgid "No request body"
msgstr ""
@@ -3029,7 +3103,7 @@ msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips.py:216
#: nova/api/openstack/compute/contrib/floating_ips.py:281
-#: nova/api/openstack/compute/contrib/security_groups.py:445
+#: nova/api/openstack/compute/contrib/security_groups.py:457
msgid "Missing parameter dict"
msgstr ""
@@ -3077,7 +3151,7 @@ msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:386
+#: nova/cmd/manage.py:385
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3268,30 +3342,36 @@ msgid "Create networks failed"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:71
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:75
msgid "Quota limit must be -1 or greater."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:123
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:127
#, python-format
msgid "Quota '%(value)s' for %(key)s should be integer."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:129
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:133
#, python-format
msgid "force update quotas: %s"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:132
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:136
#, python-format
msgid "Bad key(s) %s in quota_set"
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:152
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:156
#, python-format
msgid "Quota %(key)s used: %(quota_used)s, value: %(value)s."
msgstr ""
#: nova/api/openstack/compute/contrib/quotas.py:157
+#: nova/api/openstack/compute/plugins/v3/quota_sets.py:161
#, python-format
msgid ""
"Quota value %(value)s for %(key)s are greater than already used and "
@@ -3303,7 +3383,7 @@ msgid "Malformed scheduler_hints attribute"
msgstr ""
#: nova/api/openstack/compute/contrib/security_group_default_rules.py:129
-#: nova/api/openstack/compute/contrib/security_groups.py:352
+#: nova/api/openstack/compute/contrib/security_groups.py:371
msgid "Not enough parameters to build a valid rule."
msgstr ""
@@ -3320,16 +3400,16 @@ msgstr ""
msgid "security group default rule not found"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:360
+#: nova/api/openstack/compute/contrib/security_groups.py:379
#, python-format
msgid "Bad prefix for network in cidr %s"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:448
+#: nova/api/openstack/compute/contrib/security_groups.py:460
msgid "Security group not specified"
msgstr ""
-#: nova/api/openstack/compute/contrib/security_groups.py:452
+#: nova/api/openstack/compute/contrib/security_groups.py:464
msgid "Security group name cannot be empty"
msgstr ""
@@ -3353,7 +3433,7 @@ msgstr ""
msgid "Missing disabled reason field"
msgstr ""
-#: nova/api/openstack/compute/contrib/services.py:189
+#: nova/api/openstack/compute/contrib/services.py:188
msgid "Unknown service"
msgstr ""
@@ -3412,12 +3492,17 @@ msgstr ""
msgid "Ext version: %i"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:62
+#: nova/api/openstack/compute/plugins/v3/extension_info.py:81
+#, python-format
+msgid "Filter out extension %s from discover list"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:64
#, python-format
msgid "Reserving IP address %s"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:65
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:67
#, python-format
msgid "Unreserving IP address %s"
msgstr ""
@@ -3436,153 +3521,166 @@ msgstr ""
msgid "Did not find any server create extensions"
msgstr ""
-#: nova/api/openstack/compute/plugins/v3/servers.py:1034
+#: nova/api/openstack/compute/plugins/v3/servers.py:1031
#, python-format
msgid "Running _create_extension_point for %s"
msgstr ""
-#: nova/api/openstack/compute/views/servers.py:186
+#: nova/api/openstack/compute/views/servers.py:176
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
-#: nova/cells/messaging.py:204
+#: nova/cells/messaging.py:205
#, python-format
msgid "Error processing message locally: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:360 nova/cells/messaging.py:368
+#: nova/cells/messaging.py:361 nova/cells/messaging.py:369
#, python-format
msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
msgstr ""
-#: nova/cells/messaging.py:380
+#: nova/cells/messaging.py:381
#, python-format
msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
msgstr ""
-#: nova/cells/messaging.py:404
+#: nova/cells/messaging.py:405
#, python-format
msgid "Error locating next hop for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:431
+#: nova/cells/messaging.py:432
#, python-format
msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:510
+#: nova/cells/messaging.py:511
#, python-format
msgid "Error locating next hops for message: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:530
+#: nova/cells/messaging.py:531
#, python-format
msgid "Error sending message to next hops: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:548
+#: nova/cells/messaging.py:549
#, python-format
msgid "Error waiting for responses from neighbor cells: %(exc)s"
msgstr ""
-#: nova/cells/messaging.py:663
+#: nova/cells/messaging.py:664
#, python-format
msgid "Unknown method '%(method)s' in compute API"
msgstr ""
-#: nova/cells/messaging.py:686
+#: nova/cells/messaging.py:694
#, python-format
msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
msgstr ""
-#: nova/cells/messaging.py:696
+#: nova/cells/messaging.py:704
#, python-format
msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
msgstr ""
-#: nova/cells/messaging.py:823
+#: nova/cells/messaging.py:829
#, fuzzy, python-format
msgid "Got update for instance: %(instance)s"
msgstr "掛載點 %(mountpoint)s 掛載到虛擬機器 %(instance_name)s"
-#: nova/cells/messaging.py:866
+#: nova/cells/messaging.py:873
#, fuzzy
msgid "Got update to delete instance"
msgstr "掛載點 %(mountpoint)s 掛載到虛擬機器 %(instance_name)s"
-#: nova/cells/messaging.py:881
+#: nova/cells/messaging.py:888
#, python-format
msgid "Got broadcast to %(delete_type)s delete instance"
msgstr ""
-#: nova/cells/messaging.py:895
+#: nova/cells/messaging.py:902
#, python-format
msgid "Got message to create instance fault: %(instance_fault)s"
msgstr ""
-#: nova/cells/messaging.py:916
+#: nova/cells/messaging.py:923
#, python-format
msgid ""
"Forcing a sync of instances, project_id=%(projid_str)s, "
"updated_since=%(since_str)s"
msgstr ""
-#: nova/cells/messaging.py:1101
+#: nova/cells/messaging.py:1002
+#, python-format
+msgid "No match when trying to update BDM: %(bdm)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1162
#, python-format
msgid "Updating parents with our capabilities: %(capabs)s"
msgstr ""
-#: nova/cells/messaging.py:1121
+#: nova/cells/messaging.py:1182
#, python-format
msgid "Updating parents with our capacities: %(capacities)s"
msgstr ""
-#: nova/cells/scheduler.py:128
+#: nova/cells/rpcapi.py:335
+msgid "Failed to notify cells of BDM update/create."
+msgstr ""
+
+#: nova/cells/rpcapi.py:351
+msgid "Failed to notify cells of BDM destroy."
+msgstr ""
+
+#: nova/cells/scheduler.py:133
#, python-format
msgid "Weighted cells: %(weighted_cells)s"
msgstr ""
-#: nova/cells/scheduler.py:144
+#: nova/cells/scheduler.py:149
#, python-format
msgid "Scheduling with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:165 nova/cells/scheduler.py:204
+#: nova/cells/scheduler.py:170 nova/cells/scheduler.py:210
#, python-format
msgid "Couldn't communicate with cell '%s'"
msgstr ""
-#: nova/cells/scheduler.py:169 nova/cells/scheduler.py:208
+#: nova/cells/scheduler.py:174 nova/cells/scheduler.py:214
msgid "Couldn't communicate with any cells"
msgstr ""
-#: nova/cells/scheduler.py:183
+#: nova/cells/scheduler.py:189
#, python-format
msgid "Building instances with routing_path=%(routing_path)s"
msgstr ""
-#: nova/cells/scheduler.py:252
+#: nova/cells/scheduler.py:259
#, python-format
msgid ""
"No cells available when scheduling. Will retry in %(sleep_time)s "
"second(s)"
msgstr ""
-#: nova/cells/scheduler.py:258
+#: nova/cells/scheduler.py:265
#, python-format
msgid "Error scheduling instances %(instance_uuids)s"
msgstr ""
-#: nova/cells/state.py:271
+#: nova/cells/state.py:272
msgid "Updating cell cache from db."
msgstr ""
-#: nova/cells/state.py:316
+#: nova/cells/state.py:317
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
msgstr ""
-#: nova/cells/state.py:332
+#: nova/cells/state.py:333
#, python-format
msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
msgstr ""
@@ -3594,7 +3692,7 @@ msgid ""
"hint"
msgstr ""
-#: nova/cells/weights/mute_child.py:69
+#: nova/cells/weights/mute_child.py:65
#, python-format
msgid ""
"%(cell)s has not been seen since %(last_seen)s and is being treated as "
@@ -3627,35 +3725,84 @@ msgstr ""
msgid "Failed to load %s"
msgstr "找ä¸åˆ°Volume %s"
-#: nova/cmd/baremetal_deploy_helper.py:243
+#: nova/cmd/baremetal_deploy_helper.py:180
+#, python-format
+msgid "parent device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:184
+#, python-format
+msgid "root device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:187
+#, python-format
+msgid "swap device '%s' not found"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:196
+msgid "Failed to detect root device UUID."
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:214
+#, python-format
+msgid "Cmd : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:215
+#, python-format
+msgid "StdOut : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:216
+#, python-format
+msgid "StdErr : %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
#, python-format
msgid "start deployment for node %(node_id)s, params %(params)s"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:251
+#: nova/cmd/baremetal_deploy_helper.py:252
#, python-format
msgid "deployment to node %s failed"
msgstr ""
-#: nova/cmd/baremetal_deploy_helper.py:255
+#: nova/cmd/baremetal_deploy_helper.py:256
#, python-format
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1258
+#: nova/cmd/baremetal_deploy_helper.py:278
+#, python-format
+msgid "post: environ=%s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:297
+#, python-format
+msgid "Deploy agent error message: %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:319
+#, python-format
+msgid "request is queued: node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:158 nova/cmd/manage.py:1255
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1262
+#: nova/cmd/baremetal_manage.py:162 nova/cmd/manage.py:1259
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1264
+#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1261
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1309
+#: nova/cmd/baremetal_manage.py:204 nova/cmd/manage.py:1306
msgid "Command failed, please check log for more info"
msgstr ""
@@ -3676,312 +3823,312 @@ msgstr ""
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:207
+#: nova/cmd/manage.py:206
msgid ""
"The above error may show that the database has not been created.\n"
"Please create a database using 'nova-manage db sync' before running this "
"command."
msgstr ""
-#: nova/cmd/manage.py:242
+#: nova/cmd/manage.py:241
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:247
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:248
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:249
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:251
+#: nova/cmd/manage.py:250
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:291 nova/cmd/manage.py:366 nova/cmd/manage.py:692
-#: nova/cmd/manage.py:705
+#: nova/cmd/manage.py:290 nova/cmd/manage.py:365 nova/cmd/manage.py:690
+#: nova/cmd/manage.py:703
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:298
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:299
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:301
+#: nova/cmd/manage.py:300
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:302 nova/cmd/manage.py:826
+#: nova/cmd/manage.py:301 nova/cmd/manage.py:824
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:314 nova/cmd/manage.py:338
+#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:330
+#: nova/cmd/manage.py:329
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:393
+#: nova/cmd/manage.py:392
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:444
+#: nova/cmd/manage.py:443
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:506 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:508 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:509 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:510 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:512 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:511 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:513 nova/cmd/manage.py:619
+#: nova/cmd/manage.py:512 nova/cmd/manage.py:618
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:514 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:513 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:521
+#: nova/cmd/manage.py:520
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:540
+#: nova/cmd/manage.py:539
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:545
+#: nova/cmd/manage.py:544
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:548
+#: nova/cmd/manage.py:547
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:610
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:612
+#: nova/cmd/manage.py:611
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:612
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:614
+#: nova/cmd/manage.py:613
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:614
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:616
+#: nova/cmd/manage.py:615
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:617
+#: nova/cmd/manage.py:616
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:618
+#: nova/cmd/manage.py:617
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:620
+#: nova/cmd/manage.py:619
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:621 nova/cmd/manage.py:827
+#: nova/cmd/manage.py:620 nova/cmd/manage.py:825
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:622
+#: nova/cmd/manage.py:621
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:667
+#: nova/cmd/manage.py:665
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:668
+#: nova/cmd/manage.py:666
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:669
+#: nova/cmd/manage.py:667
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:670
+#: nova/cmd/manage.py:668
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:671
+#: nova/cmd/manage.py:669
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:672
+#: nova/cmd/manage.py:670
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:694
+#: nova/cmd/manage.py:692
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:707
+#: nova/cmd/manage.py:705
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:772
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:773
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:779
+#: nova/cmd/manage.py:777
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:780
+#: nova/cmd/manage.py:778
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:781
+#: nova/cmd/manage.py:779
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:782
+#: nova/cmd/manage.py:780
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:783
+#: nova/cmd/manage.py:781
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:866
+#: nova/cmd/manage.py:864
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:905
+#: nova/cmd/manage.py:903
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:909
+#: nova/cmd/manage.py:907
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:910
+#: nova/cmd/manage.py:908
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:912
+#: nova/cmd/manage.py:910
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:917
+#: nova/cmd/manage.py:915
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:920
+#: nova/cmd/manage.py:918
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:928
+#: nova/cmd/manage.py:926
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:931
+#: nova/cmd/manage.py:929
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:936
+#: nova/cmd/manage.py:934
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:972
+#: nova/cmd/manage.py:970
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:994
+#: nova/cmd/manage.py:992
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1040
+#: nova/cmd/manage.py:1037
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1081
+#: nova/cmd/manage.py:1078
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1083
+#: nova/cmd/manage.py:1080
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1095
+#: nova/cmd/manage.py:1092
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1099
+#: nova/cmd/manage.py:1096
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1108
+#: nova/cmd/manage.py:1105
msgid "No nova entries in syslog!"
msgstr ""
@@ -3995,246 +4142,246 @@ msgstr ""
msgid "cell_type must be configured as 'api' or 'compute'"
msgstr ""
-#: nova/compute/api.py:293
+#: nova/compute/api.py:302
msgid "Cannot run any more instances of this type."
msgstr ""
-#: nova/compute/api.py:300
+#: nova/compute/api.py:309
#, python-format
msgid "Can only run %s more instances of this type."
msgstr ""
-#: nova/compute/api.py:309
+#: nova/compute/api.py:318
#, python-format
msgid ""
"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
"instances. %(msg)s"
msgstr ""
-#: nova/compute/api.py:329
+#: nova/compute/api.py:338
#, python-format
msgid ""
"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
"properties"
msgstr ""
-#: nova/compute/api.py:339
+#: nova/compute/api.py:348
msgid "Metadata property key blank"
msgstr ""
-#: nova/compute/api.py:343
+#: nova/compute/api.py:352
msgid "Metadata property key greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:347
+#: nova/compute/api.py:356
msgid "Metadata property value greater than 255 characters"
msgstr ""
-#: nova/compute/api.py:480
+#: nova/compute/api.py:489
msgid "Failed to set instance name using multi_instance_display_name_template."
msgstr ""
-#: nova/compute/api.py:563
+#: nova/compute/api.py:571
#, fuzzy
msgid "Cannot attach one or more volumes to multiple instances"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/compute/api.py:661
+#: nova/compute/api.py:667
#, python-format
msgid "Going to run %s instances..."
msgstr ""
-#: nova/compute/api.py:806
+#: nova/compute/api.py:812
#, python-format
msgid "bdm %s"
msgstr ""
-#: nova/compute/api.py:833
+#: nova/compute/api.py:839
#, python-format
msgid "block_device_mapping %s"
msgstr ""
-#: nova/compute/api.py:1116
+#: nova/compute/api.py:1122
#, fuzzy
msgid "instance termination disabled"
msgstr "建立虛擬介é¢å¤±æ•—"
-#: nova/compute/api.py:1252
+#: nova/compute/api.py:1258
#, python-format
msgid "instance type %(old_inst_type_id)d not found"
msgstr ""
-#: nova/compute/api.py:1258
+#: nova/compute/api.py:1264
msgid "going to delete a resizing instance"
msgstr ""
-#: nova/compute/api.py:1268
+#: nova/compute/api.py:1274
#, python-format
msgid "instance's host %s is down, deleting from database"
msgstr ""
-#: nova/compute/api.py:1311
+#: nova/compute/api.py:1318
msgid "Going to try to soft delete instance"
msgstr ""
-#: nova/compute/api.py:1335
+#: nova/compute/api.py:1343
msgid "Going to try to terminate instance"
msgstr ""
-#: nova/compute/api.py:1385
+#: nova/compute/api.py:1394
msgid "Going to try to stop instance"
msgstr ""
-#: nova/compute/api.py:1401
+#: nova/compute/api.py:1410
msgid "Going to try to start instance"
msgstr ""
-#: nova/compute/api.py:1473
+#: nova/compute/api.py:1482
#, python-format
msgid "Searching by: %s"
msgstr ""
-#: nova/compute/api.py:1710
+#: nova/compute/api.py:1719
#, python-format
msgid "snapshot for %s"
msgstr ""
-#: nova/compute/api.py:2046
+#: nova/compute/api.py:2057
msgid "flavor_id is None. Assuming migration."
msgstr ""
-#: nova/compute/api.py:2055
+#: nova/compute/api.py:2066
#, python-format
msgid ""
"Old instance type %(current_instance_type_name)s, new instance type "
"%(new_instance_type_name)s"
msgstr ""
-#: nova/compute/api.py:2103
+#: nova/compute/api.py:2114
#, python-format
msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
msgstr ""
-#: nova/compute/api.py:2241
+#: nova/compute/api.py:2253
msgid "Cannot rescue a volume-backed instance"
msgstr ""
-#: nova/compute/api.py:2346
+#: nova/compute/api.py:2358
msgid "Locking"
msgstr ""
-#: nova/compute/api.py:2354
+#: nova/compute/api.py:2366
msgid "Unlocking"
msgstr ""
-#: nova/compute/api.py:2426
+#: nova/compute/api.py:2438
msgid "Volume must be attached in order to detach."
msgstr ""
-#: nova/compute/api.py:2540
+#: nova/compute/api.py:2552
#, python-format
msgid "Going to try to live migrate instance to %s"
msgstr ""
-#: nova/compute/api.py:2562
+#: nova/compute/api.py:2574
msgid "vm evacuation scheduled"
msgstr ""
-#: nova/compute/api.py:2566
+#: nova/compute/api.py:2578
#, python-format
msgid ""
"Instance compute service state on %(inst_host)s expected to be down, but "
"it was up."
msgstr ""
-#: nova/compute/api.py:2814 nova/tests/compute/test_keypairs.py:108
+#: nova/compute/api.py:2826 nova/tests/compute/test_keypairs.py:108
msgid "Keypair name contains unsafe characters"
msgstr ""
-#: nova/compute/api.py:2818 nova/tests/compute/test_keypairs.py:100
+#: nova/compute/api.py:2830 nova/tests/compute/test_keypairs.py:100
#: nova/tests/compute/test_keypairs.py:104
msgid "Keypair name must be between 1 and 255 characters long"
msgstr ""
-#: nova/compute/api.py:2900
+#: nova/compute/api.py:2912
#, python-format
msgid "Security group %s is not a string or unicode"
msgstr ""
-#: nova/compute/api.py:2903
+#: nova/compute/api.py:2915
#, python-format
msgid "Security group %s cannot be empty."
msgstr ""
-#: nova/compute/api.py:2911
+#: nova/compute/api.py:2923
#, python-format
msgid ""
"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
"limited to '%(allowed)'."
msgstr ""
-#: nova/compute/api.py:2917
+#: nova/compute/api.py:2929
#, python-format
msgid "Security group %s should not be greater than 255 characters."
msgstr ""
-#: nova/compute/api.py:2935
+#: nova/compute/api.py:2947
msgid "Quota exceeded, too many security groups."
msgstr ""
-#: nova/compute/api.py:2938
+#: nova/compute/api.py:2950
#, python-format
msgid "Create Security Group %s"
msgstr ""
-#: nova/compute/api.py:2945
+#: nova/compute/api.py:2957
#, python-format
msgid "Security group %s already exists"
msgstr ""
-#: nova/compute/api.py:2964
+#: nova/compute/api.py:2976
#, fuzzy, python-format
msgid "Unable to update system group '%s'"
msgstr "找ä¸åˆ°Volume %s"
-#: nova/compute/api.py:3024
+#: nova/compute/api.py:3036
#, fuzzy, python-format
msgid "Unable to delete system group '%s'"
msgstr "找ä¸åˆ°Volume %s"
-#: nova/compute/api.py:3029
+#: nova/compute/api.py:3041
msgid "Security group is still in use"
msgstr ""
-#: nova/compute/api.py:3037
+#: nova/compute/api.py:3049
msgid "Failed to update usages deallocating security group"
msgstr ""
-#: nova/compute/api.py:3040
+#: nova/compute/api.py:3052
#, python-format
msgid "Delete security group %s"
msgstr ""
-#: nova/compute/api.py:3117 nova/compute/api.py:3191
+#: nova/compute/api.py:3129 nova/compute/api.py:3203
#, python-format
msgid "Rule (%s) not found"
msgstr ""
-#: nova/compute/api.py:3133
+#: nova/compute/api.py:3145
msgid "Quota exceeded, too many security group rules."
msgstr ""
-#: nova/compute/api.py:3136
+#: nova/compute/api.py:3148
#, python-format
msgid "Authorize security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3145
+#: nova/compute/api.py:3157
#, python-format
msgid "Revoke security group ingress %s"
msgstr ""
-#: nova/compute/api.py:3198
+#: nova/compute/api.py:3210
msgid "Security group id should be integer"
msgstr ""
@@ -4298,12 +4445,12 @@ msgstr ""
#: nova/compute/flavors.py:101
#, python-format
-msgid "'%s' argument must be greater than 0"
+msgid "'%s' argument must be a positive integer"
msgstr ""
#: nova/compute/flavors.py:110
#, python-format
-msgid "'%s' argument must be greater than or equal to 0"
+msgid "'%s' argument must be an integer greater than or equal to 0"
msgstr ""
#: nova/compute/flavors.py:119
@@ -4324,656 +4471,680 @@ msgstr ""
msgid "Instance type %s not found for deletion"
msgstr ""
-#: nova/compute/manager.py:206
+#: nova/compute/manager.py:210
msgid "Possibly task preempted."
msgstr ""
-#: nova/compute/manager.py:378
+#: nova/compute/manager.py:383
#, python-format
msgid "%s is not a valid node managed by this compute host."
msgstr ""
-#: nova/compute/manager.py:406
+#: nova/compute/manager.py:411
msgid "Instance has been destroyed from under us while trying to set it to ERROR"
msgstr ""
-#: nova/compute/manager.py:455
+#: nova/compute/manager.py:461
#, python-format
msgid ""
"Deleting instance as its host (%(instance_host)s) is not equal to our "
"host (%(our_host)s)."
msgstr ""
-#: nova/compute/manager.py:471
+#: nova/compute/manager.py:477
msgid "Instance has been marked deleted already, removing it from the hypervisor."
msgstr ""
-#: nova/compute/manager.py:492
+#: nova/compute/manager.py:498
msgid ""
"Hypervisor driver does not support instance shared storage check, "
"assuming it's not on shared storage"
msgstr ""
-#: nova/compute/manager.py:498
+#: nova/compute/manager.py:504
msgid "Failed to check if instance shared"
msgstr ""
-#: nova/compute/manager.py:540
+#: nova/compute/manager.py:546
#, python-format
msgid ""
"Error raised getting network info for instance %(instance_uuid)s. "
"Retrying in %(retry_time)s seconds."
msgstr ""
-#: nova/compute/manager.py:566
+#: nova/compute/manager.py:572
msgid "Failed to revert crashed migration"
msgstr ""
-#: nova/compute/manager.py:569
+#: nova/compute/manager.py:575
msgid "Instance found in migrating state during startup. Resetting task_state"
msgstr ""
-#: nova/compute/manager.py:580
+#: nova/compute/manager.py:586
#, python-format
msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
msgstr ""
-#: nova/compute/manager.py:586
+#: nova/compute/manager.py:592
msgid "Rebooting instance after nova-compute restart."
msgstr ""
-#: nova/compute/manager.py:600
+#: nova/compute/manager.py:606
msgid "Hypervisor driver does not support resume guests"
msgstr ""
-#: nova/compute/manager.py:605
+#: nova/compute/manager.py:611
#, fuzzy
msgid "Failed to resume instance"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/compute/manager.py:615
+#: nova/compute/manager.py:621
msgid "Hypervisor driver does not support firewall rules"
msgstr ""
-#: nova/compute/manager.py:619
+#: nova/compute/manager.py:625
#, python-format
msgid "Lifecycle event %(state)d on VM %(uuid)s"
msgstr ""
-#: nova/compute/manager.py:635
+#: nova/compute/manager.py:641
#, python-format
msgid "Unexpected power state %d"
msgstr ""
-#: nova/compute/manager.py:647
+#: nova/compute/manager.py:654
+#, python-format
+msgid ""
+"Event %s arrived for non-existent instance. The instance was probably "
+"deleted."
+msgstr ""
+
+#: nova/compute/manager.py:657
#, python-format
msgid "Ignoring event %s"
msgstr ""
-#: nova/compute/manager.py:685
+#: nova/compute/manager.py:695
msgid "Checking state"
msgstr ""
-#: nova/compute/manager.py:783
+#: nova/compute/manager.py:793
#, python-format
msgid "Volume id: %s finished being created but was not set as 'available'"
msgstr ""
-#: nova/compute/manager.py:800
+#: nova/compute/manager.py:810
#, python-format
msgid "Setting up bdm %s"
msgstr ""
-#: nova/compute/manager.py:900
+#: nova/compute/manager.py:911
msgid "Success"
msgstr ""
-#: nova/compute/manager.py:923
+#: nova/compute/manager.py:934
msgid "Instance disappeared before we could start it"
msgstr ""
-#: nova/compute/manager.py:950 nova/compute/manager.py:2447
+#: nova/compute/manager.py:961 nova/compute/manager.py:2515
#, python-format
msgid "No node specified, defaulting to %s"
msgstr ""
-#: nova/compute/manager.py:994
+#: nova/compute/manager.py:1005
msgid "Failed to dealloc network for deleted instance"
msgstr ""
-#: nova/compute/manager.py:1003
+#: nova/compute/manager.py:1014
msgid "Instance was deleted during spawn."
msgstr ""
-#: nova/compute/manager.py:1034
+#: nova/compute/manager.py:1045
#, python-format
msgid "Error: %s"
msgstr ""
-#: nova/compute/manager.py:1051
+#: nova/compute/manager.py:1062
msgid "Clean up resource before rescheduling."
msgstr ""
-#: nova/compute/manager.py:1076 nova/compute/manager.py:2500
+#: nova/compute/manager.py:1087 nova/compute/manager.py:2568
msgid "Error trying to reschedule"
msgstr ""
-#: nova/compute/manager.py:1089
+#: nova/compute/manager.py:1100
msgid "Retry info not present, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1094
+#: nova/compute/manager.py:1105
msgid "No request spec, will not reschedule"
msgstr ""
-#: nova/compute/manager.py:1100
+#: nova/compute/manager.py:1111
#, python-format
msgid "Re-scheduling %(method)s: attempt %(num)d"
msgstr ""
-#: nova/compute/manager.py:1129
+#: nova/compute/manager.py:1140
msgid "Instance build timed out. Set to error state."
msgstr ""
-#: nova/compute/manager.py:1139
+#: nova/compute/manager.py:1150
msgid "Starting instance..."
msgstr ""
-#: nova/compute/manager.py:1163
+#: nova/compute/manager.py:1164
msgid "Allocating IP information in the background."
msgstr ""
-#: nova/compute/manager.py:1174
-msgid "Instance failed network setup"
+#: nova/compute/manager.py:1168
+#, python-format
+msgid ""
+"Treating negative config value (%(retries)s) for "
+"'network_allocate_retries' as 0."
msgstr ""
-#: nova/compute/manager.py:1176
+#: nova/compute/manager.py:1181
#, python-format
msgid "Instance network_info: |%s|"
msgstr ""
-#: nova/compute/manager.py:1187
+#: nova/compute/manager.py:1189
+#, python-format
+msgid "Instance failed network setup after %(attempts)d attempt(s)"
+msgstr ""
+
+#: nova/compute/manager.py:1193
+#, python-format
+msgid "Instance failed network setup (attempt %(attempt)d of %(attempts)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1226
msgid "Instance failed block device setup"
msgstr ""
-#: nova/compute/manager.py:1206
+#: nova/compute/manager.py:1245
msgid "Instance failed to spawn"
msgstr ""
-#: nova/compute/manager.py:1257
+#: nova/compute/manager.py:1296
msgid "Deallocating network for instance"
msgstr ""
-#: nova/compute/manager.py:1331
+#: nova/compute/manager.py:1370
msgid "Failed to deallocate network for instance."
msgstr ""
-#: nova/compute/manager.py:1338
+#: nova/compute/manager.py:1377
#, python-format
msgid "%(action_str)s instance"
msgstr ""
-#: nova/compute/manager.py:1381
+#: nova/compute/manager.py:1420
#, python-format
msgid "Ignoring DiskNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1384
+#: nova/compute/manager.py:1423
#, python-format
msgid "Ignoring VolumeNotFound: %s"
msgstr ""
-#: nova/compute/manager.py:1391
+#: nova/compute/manager.py:1430
#, python-format
msgid "terminating bdm %s"
msgstr ""
-#: nova/compute/manager.py:1439
+#: nova/compute/manager.py:1478
#, python-format
msgid "Ignoring volume cleanup failure due to %s"
msgstr ""
-#: nova/compute/manager.py:1501 nova/compute/manager.py:2682
-#: nova/compute/manager.py:4205
+#: nova/compute/manager.py:1540 nova/compute/manager.py:2750
+#: nova/compute/manager.py:4275
#, python-format
msgid "%s. Setting instance vm_state to ERROR"
msgstr ""
-#: nova/compute/manager.py:1653
+#: nova/compute/manager.py:1704
msgid "Rebuilding instance"
msgstr ""
-#: nova/compute/manager.py:1666
+#: nova/compute/manager.py:1717
msgid "Invalid state of instance files on shared storage"
msgstr ""
-#: nova/compute/manager.py:1670
+#: nova/compute/manager.py:1721
msgid "disk on shared storage, recreating using existing disk"
msgstr ""
-#: nova/compute/manager.py:1674
+#: nova/compute/manager.py:1725
#, python-format
msgid "disk not on shared storagerebuilding from: '%s'"
msgstr ""
-#: nova/compute/manager.py:1757
+#: nova/compute/manager.py:1808
#, python-format
msgid "bringing vm to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:1789
+#: nova/compute/manager.py:1840
#, fuzzy, python-format
msgid "Detaching from volume api: %s"
msgstr "無法å¸è¼‰ Volume %s"
-#: nova/compute/manager.py:1807
+#: nova/compute/manager.py:1858
msgid "Rebooting instance"
msgstr ""
-#: nova/compute/manager.py:1832
+#: nova/compute/manager.py:1877
#, python-format
msgid ""
"trying to reboot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1848
+#: nova/compute/manager.py:1913
+msgid "Reboot failed but instance is running"
+msgstr ""
+
+#: nova/compute/manager.py:1916
#, python-format
-msgid "Cannot reboot instance: %s"
+msgid "Cannot reboot instance: %(error)s"
msgstr ""
-#: nova/compute/manager.py:1861
+#: nova/compute/manager.py:1929
msgid "Instance disappeared during reboot"
msgstr ""
-#: nova/compute/manager.py:1888
+#: nova/compute/manager.py:1956
msgid "instance snapshotting"
msgstr ""
-#: nova/compute/manager.py:1894
+#: nova/compute/manager.py:1962
#, python-format
msgid ""
"trying to snapshot a non-running instance: (state: %(state)s expected: "
"%(running)s)"
msgstr ""
-#: nova/compute/manager.py:1955
+#: nova/compute/manager.py:2023
#, python-format
msgid "Found %(num_images)d images (rotation: %(rotation)d)"
msgstr ""
-#: nova/compute/manager.py:1963
+#: nova/compute/manager.py:2031
#, python-format
msgid "Rotating out %d backups"
msgstr ""
-#: nova/compute/manager.py:1968
+#: nova/compute/manager.py:2036
#, python-format
msgid "Deleting image %s"
msgstr ""
-#: nova/compute/manager.py:1996
+#: nova/compute/manager.py:2064
#, python-format
msgid "Failed to set admin password. Instance %s is not running"
msgstr ""
-#: nova/compute/manager.py:2003
+#: nova/compute/manager.py:2071
msgid "Root password set"
msgstr ""
-#: nova/compute/manager.py:2010
+#: nova/compute/manager.py:2078
msgid "set_admin_password is not implemented by this driver or guest instance."
msgstr ""
-#: nova/compute/manager.py:2025
+#: nova/compute/manager.py:2093
#, python-format
msgid "set_admin_password failed: %s"
msgstr ""
-#: nova/compute/manager.py:2032
+#: nova/compute/manager.py:2100
msgid "error setting admin password"
msgstr ""
-#: nova/compute/manager.py:2045
+#: nova/compute/manager.py:2113
#, python-format
msgid ""
"trying to inject a file into a non-running (state: %(current_state)s "
"expected: %(expected_state)s)"
msgstr ""
-#: nova/compute/manager.py:2050
+#: nova/compute/manager.py:2118
#, python-format
msgid "injecting file to %s"
msgstr ""
-#: nova/compute/manager.py:2070
+#: nova/compute/manager.py:2138
msgid ""
"Unable to find a different image to use for rescue VM, using instance's "
"current image"
msgstr ""
-#: nova/compute/manager.py:2083
+#: nova/compute/manager.py:2151
msgid "Rescuing"
msgstr ""
-#: nova/compute/manager.py:2102
+#: nova/compute/manager.py:2170
#, fuzzy
msgid "Error trying to Rescue Instance"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/compute/manager.py:2106
+#: nova/compute/manager.py:2174
#, python-format
msgid "Driver Error: %s"
msgstr ""
-#: nova/compute/manager.py:2124
+#: nova/compute/manager.py:2192
msgid "Unrescuing"
msgstr ""
-#: nova/compute/manager.py:2145
+#: nova/compute/manager.py:2213
#, python-format
msgid "Changing instance metadata according to %r"
msgstr ""
-#: nova/compute/manager.py:2366
+#: nova/compute/manager.py:2435
#, python-format
msgid "Updating instance to original state: '%s'"
msgstr ""
-#: nova/compute/manager.py:2400
+#: nova/compute/manager.py:2469
msgid "Instance has no source host"
msgstr ""
-#: nova/compute/manager.py:2406
+#: nova/compute/manager.py:2475
msgid "destination same as source!"
msgstr ""
-#: nova/compute/manager.py:2428
+#: nova/compute/manager.py:2496
msgid "Migrating"
msgstr ""
-#: nova/compute/manager.py:2679
+#: nova/compute/manager.py:2747
#, python-format
msgid "Failed to rollback quota for failed finish_resize: %s"
msgstr ""
-#: nova/compute/manager.py:2742
+#: nova/compute/manager.py:2810
msgid "Pausing"
msgstr ""
-#: nova/compute/manager.py:2760
+#: nova/compute/manager.py:2828
msgid "Unpausing"
msgstr ""
-#: nova/compute/manager.py:2799
+#: nova/compute/manager.py:2867
msgid "Retrieving diagnostics"
msgstr ""
-#: nova/compute/manager.py:2830
+#: nova/compute/manager.py:2898
msgid "Resuming"
msgstr ""
-#: nova/compute/manager.py:2850
+#: nova/compute/manager.py:2918
msgid "Reset network"
msgstr ""
-#: nova/compute/manager.py:2855
+#: nova/compute/manager.py:2923
msgid "Inject network info"
msgstr ""
-#: nova/compute/manager.py:2858
+#: nova/compute/manager.py:2926
#, python-format
msgid "network_info to inject: |%s|"
msgstr ""
-#: nova/compute/manager.py:2875
+#: nova/compute/manager.py:2943
msgid "Get console output"
msgstr ""
-#: nova/compute/manager.py:2902
+#: nova/compute/manager.py:2970
msgid "Getting vnc console"
msgstr ""
-#: nova/compute/manager.py:2937
+#: nova/compute/manager.py:3005
msgid "Getting spice console"
msgstr ""
-#: nova/compute/manager.py:2985
+#: nova/compute/manager.py:3053
#, python-format
msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3036
+#: nova/compute/manager.py:3104
#, python-format
msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3046
+#: nova/compute/manager.py:3114
#, python-format
msgid ""
"Failed to connect to volume %(volume_id)s while attaching at "
"%(mountpoint)s"
msgstr ""
-#: nova/compute/manager.py:3062
+#: nova/compute/manager.py:3130
#, fuzzy, python-format
msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
msgstr "å¸è¼‰_Volume: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3093
+#: nova/compute/manager.py:3161
#, python-format
msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
msgstr ""
-#: nova/compute/manager.py:3104
+#: nova/compute/manager.py:3172
#, fuzzy
msgid "Detaching volume from unknown instance"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/compute/manager.py:3111
+#: nova/compute/manager.py:3179
#, fuzzy, python-format
msgid "Failed to detach volume %(volume_id)s from %(mp)s"
msgstr "å¸è¼‰_Volume: %(instance_name)s, %(mountpoint)s"
-#: nova/compute/manager.py:3135
+#: nova/compute/manager.py:3203
msgid "Updating volume usage cache with totals"
msgstr ""
-#: nova/compute/manager.py:3171
+#: nova/compute/manager.py:3239
#, python-format
msgid "allocate_port_for_instance returned %(ports)s ports"
msgstr ""
-#: nova/compute/manager.py:3191
+#: nova/compute/manager.py:3259
#, python-format
msgid "Port %s is not attached"
msgstr ""
-#: nova/compute/manager.py:3205
+#: nova/compute/manager.py:3273
#, python-format
msgid "Host %s not found"
msgstr ""
-#: nova/compute/manager.py:3358
+#: nova/compute/manager.py:3426
#, python-format
msgid "Pre live migration failed at %s"
msgstr ""
-#: nova/compute/manager.py:3386
+#: nova/compute/manager.py:3454
msgid "_post_live_migration() is started.."
msgstr ""
-#: nova/compute/manager.py:3441
+#: nova/compute/manager.py:3509
#, python-format
msgid "Migrating instance to %s finished successfully."
msgstr ""
-#: nova/compute/manager.py:3443
+#: nova/compute/manager.py:3511
msgid ""
"You may see the error \"libvirt: QEMU error: Domain not found: no domain "
"with matching name.\" This error can be safely ignored."
msgstr ""
-#: nova/compute/manager.py:3458
+#: nova/compute/manager.py:3526
msgid "Post operation of migration started"
msgstr ""
-#: nova/compute/manager.py:3490
+#: nova/compute/manager.py:3558
#, python-format
msgid "Failed to get compute_info for %s"
msgstr ""
-#: nova/compute/manager.py:3619
+#: nova/compute/manager.py:3687
msgid "Updated the info_cache for instance"
msgstr ""
-#: nova/compute/manager.py:3669
+#: nova/compute/manager.py:3739
#, python-format
msgid ""
"Found %(migration_count)d unconfirmed migrations older than "
"%(confirm_window)d seconds"
msgstr ""
-#: nova/compute/manager.py:3674
+#: nova/compute/manager.py:3744
#, python-format
msgid "Setting migration %(migration_id)s to error: %(reason)s"
msgstr ""
-#: nova/compute/manager.py:3683
+#: nova/compute/manager.py:3753
#, python-format
msgid ""
"Automatically confirming migration %(migration_id)s for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/compute/manager.py:3691
+#: nova/compute/manager.py:3761
#, python-format
msgid "Instance %s not found"
msgstr ""
-#: nova/compute/manager.py:3696
+#: nova/compute/manager.py:3766
msgid "In ERROR state"
msgstr ""
-#: nova/compute/manager.py:3703
+#: nova/compute/manager.py:3773
#, python-format
msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
msgstr ""
-#: nova/compute/manager.py:3714
+#: nova/compute/manager.py:3784
#, python-format
msgid "Error auto-confirming resize: %s. Will retry later."
msgstr ""
-#: nova/compute/manager.py:3730
+#: nova/compute/manager.py:3800
#, python-format
msgid ""
"Running instance usage audit for host %(host)s from %(begin_time)s to "
"%(end_time)s. %(number_instances)s instances."
msgstr ""
-#: nova/compute/manager.py:3750
+#: nova/compute/manager.py:3820
#, python-format
msgid "Failed to generate usage audit for instance on host %s"
msgstr ""
-#: nova/compute/manager.py:3774
+#: nova/compute/manager.py:3844
msgid "Updating bandwidth usage cache"
msgstr ""
-#: nova/compute/manager.py:3877
+#: nova/compute/manager.py:3947
msgid "Updating volume usage cache"
msgstr ""
-#: nova/compute/manager.py:3891
+#: nova/compute/manager.py:3961
msgid "Updating host status"
msgstr ""
-#: nova/compute/manager.py:3918
+#: nova/compute/manager.py:3988
#, python-format
msgid ""
"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
"the hypervisor."
msgstr ""
-#: nova/compute/manager.py:3925 nova/compute/manager.py:3974
+#: nova/compute/manager.py:3995 nova/compute/manager.py:4044
msgid "During sync_power_state the instance has a pending task. Skip."
msgstr ""
-#: nova/compute/manager.py:3961
+#: nova/compute/manager.py:4031
#, python-format
msgid ""
"During the sync_power process the instance has moved from host %(src)s to"
" host %(dst)s"
msgstr ""
-#: nova/compute/manager.py:3998
+#: nova/compute/manager.py:4068
msgid "Instance shutdown by itself. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4010 nova/compute/manager.py:4019
-#: nova/compute/manager.py:4049
+#: nova/compute/manager.py:4080 nova/compute/manager.py:4089
+#: nova/compute/manager.py:4119
msgid "error during stop() in sync_power_state."
msgstr ""
-#: nova/compute/manager.py:4014
+#: nova/compute/manager.py:4084
msgid "Instance is suspended unexpectedly. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4030
+#: nova/compute/manager.py:4100
msgid "Instance is paused unexpectedly. Ignore."
msgstr ""
-#: nova/compute/manager.py:4036
+#: nova/compute/manager.py:4106
msgid "Instance is unexpectedly not found. Ignore."
msgstr ""
-#: nova/compute/manager.py:4042
+#: nova/compute/manager.py:4112
msgid "Instance is not stopped. Calling the stop API."
msgstr ""
-#: nova/compute/manager.py:4058
+#: nova/compute/manager.py:4128
msgid "Instance is not (soft-)deleted."
msgstr ""
-#: nova/compute/manager.py:4066
+#: nova/compute/manager.py:4136
msgid "CONF.reclaim_instance_interval <= 0, skipping..."
msgstr ""
-#: nova/compute/manager.py:4079
+#: nova/compute/manager.py:4149
msgid "Reclaiming deleted instance"
msgstr ""
-#: nova/compute/manager.py:4106
+#: nova/compute/manager.py:4176
#, python-format
msgid "Deleting orphan compute node %s"
msgstr ""
-#: nova/compute/manager.py:4116 nova/compute/resource_tracker.py:321
+#: nova/compute/manager.py:4186 nova/compute/resource_tracker.py:321
#, python-format
msgid "No service record for host %s"
msgstr ""
-#: nova/compute/manager.py:4156
+#: nova/compute/manager.py:4226
#, python-format
msgid ""
"Detected instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4162
+#: nova/compute/manager.py:4232
#, python-format
msgid ""
"Destroying instance with name label '%s' which is marked as DELETED but "
"still present on host."
msgstr ""
-#: nova/compute/manager.py:4169
+#: nova/compute/manager.py:4239
#, python-format
msgid "Unrecognized value '%s' for CONF.running_deleted_instance_action"
msgstr ""
-#: nova/compute/manager.py:4196
+#: nova/compute/manager.py:4266
#, python-format
msgid "Setting instance back to ACTIVE after: %s"
msgstr ""
@@ -5073,11 +5244,11 @@ msgstr ""
msgid "Missing keys: %s"
msgstr ""
-#: nova/compute/rpcapi.py:53
+#: nova/compute/rpcapi.py:58
msgid "No compute host specified"
msgstr ""
-#: nova/compute/rpcapi.py:56
+#: nova/compute/rpcapi.py:61
#, python-format
msgid "Unable to find host for Instance %s"
msgstr ""
@@ -5093,15 +5264,34 @@ msgid ""
"start before nova-conductor?"
msgstr ""
-#: nova/conductor/manager.py:115
+#: nova/conductor/manager.py:116
#, python-format
msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
msgstr ""
-#: nova/conductor/manager.py:290
+#: nova/conductor/manager.py:322
msgid "Invalid block_device_mapping_destroy invocation"
msgstr ""
+#: nova/conductor/tasks/live_migrate.py:103
+#, python-format
+msgid ""
+"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
+"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:150
+#, python-format
+msgid "Skipping host: %(host)s because: %(e)s"
+msgstr ""
+
+#: nova/conductor/tasks/live_migrate.py:169
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s during live migration"
+msgstr ""
+
#: nova/console/manager.py:81 nova/console/vmrc_manager.py:63
msgid "Adding console"
msgstr ""
@@ -5180,7 +5370,7 @@ msgstr ""
msgid "Failed to notify cells of instance update"
msgstr ""
-#: nova/db/api.py:1550
+#: nova/db/api.py:1551
msgid "Failed to notify cells of bw_usage update"
msgstr ""
@@ -5202,44 +5392,44 @@ msgstr ""
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:662
+#: nova/db/sqlalchemy/api.py:649
#, python-format
msgid "Invalid floating ip id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:883
+#: nova/db/sqlalchemy/api.py:870
#, python-format
msgid "Invalid floating IP %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1168 nova/db/sqlalchemy/api.py:1208
+#: nova/db/sqlalchemy/api.py:1155 nova/db/sqlalchemy/api.py:1195
#, python-format
msgid "Invalid fixed IP Address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1345
+#: nova/db/sqlalchemy/api.py:1332
#, python-format
msgid "Invalid virtual interface address %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1438
+#: nova/db/sqlalchemy/api.py:1425
#, python-format
msgid ""
"Unknown osapi_compute_unique_server_name_scope value: %s Flag must be "
"empty, \"global\" or \"project\""
msgstr ""
-#: nova/db/sqlalchemy/api.py:1573
+#: nova/db/sqlalchemy/api.py:1560
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2927
+#: nova/db/sqlalchemy/api.py:2915
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4458
+#: nova/db/sqlalchemy/api.py:4451
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5270,43 +5460,43 @@ msgid ""
"%s It should be instance of sqlalchemy.Column."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:210
+#: nova/db/sqlalchemy/utils.py:220
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:244
+#: nova/db/sqlalchemy/utils.py:254
#, python-format
msgid "Missing column %(table)s.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:250
+#: nova/db/sqlalchemy/utils.py:260
#, python-format
msgid ""
"Different types in %(table)s.%(column)s and shadow table: %(c_type)s "
"%(shadow_c_type)s"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:259
+#: nova/db/sqlalchemy/utils.py:269
#, python-format
msgid "Extra column %(table)%.%(column)s in shadow table"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:279
+#: nova/db/sqlalchemy/utils.py:289
msgid "Specify `table_name` or `table` param"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:282
+#: nova/db/sqlalchemy/utils.py:292
msgid "Specify only one param `table_name` `table`"
msgstr ""
-#: nova/db/sqlalchemy/utils.py:304 nova/db/sqlalchemy/utils.py:308
+#: nova/db/sqlalchemy/utils.py:314 nova/db/sqlalchemy/utils.py:318
#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:927
#: nova/db/sqlalchemy/migrate_repo/versions/154_add_shadow_tables.py:58
msgid "Exception while creating table."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:316
+#: nova/db/sqlalchemy/utils.py:326
msgid "Unsupported id columns type"
msgstr ""
@@ -5335,47 +5525,47 @@ msgstr ""
msgid "fetching image %s from glance"
msgstr ""
-#: nova/image/s3.py:335
+#: nova/image/s3.py:332
#, python-format
msgid "Failed to download %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:352
+#: nova/image/s3.py:349
#, python-format
msgid "Failed to decrypt %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:363
+#: nova/image/s3.py:360
#, python-format
msgid "Failed to untar %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:373
+#: nova/image/s3.py:370
#, python-format
msgid "Failed to upload %(image_location)s to %(image_path)s"
msgstr ""
-#: nova/image/s3.py:385
+#: nova/image/s3.py:382
#, python-format
msgid "Image %s was deleted underneath us"
msgstr ""
-#: nova/image/s3.py:400
+#: nova/image/s3.py:397
#, python-format
msgid "Failed to decrypt private key: %s"
msgstr ""
-#: nova/image/s3.py:407
+#: nova/image/s3.py:404
#, python-format
msgid "Failed to decrypt initialization vector: %s"
msgstr ""
-#: nova/image/s3.py:418
+#: nova/image/s3.py:415
#, python-format
msgid "Failed to decrypt image file %(image_file)s: %(err)s"
msgstr ""
-#: nova/image/s3.py:430
+#: nova/image/s3.py:427
msgid "Unsafe filenames in image"
msgstr ""
@@ -5581,42 +5771,42 @@ msgstr ""
msgid "Pid %d is stale, relaunching radvd"
msgstr ""
-#: nova/network/linux_net.py:1285
+#: nova/network/linux_net.py:1297
#, python-format
msgid "Net device removed: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1288
+#: nova/network/linux_net.py:1300
#, python-format
msgid "Failed removing net device: '%s'"
msgstr ""
-#: nova/network/linux_net.py:1406
+#: nova/network/linux_net.py:1418
#, python-format
msgid "Starting VLAN interface %s"
msgstr ""
-#: nova/network/linux_net.py:1452
+#: nova/network/linux_net.py:1464
#, python-format
msgid "Starting Bridge %s"
msgstr ""
-#: nova/network/linux_net.py:1464
+#: nova/network/linux_net.py:1476
#, python-format
msgid "Adding interface %(interface)s to bridge %(bridge)s"
msgstr ""
-#: nova/network/linux_net.py:1500
+#: nova/network/linux_net.py:1512
#, python-format
msgid "Failed to add interface: %s"
msgstr ""
-#: nova/network/linux_net.py:1737
+#: nova/network/linux_net.py:1749
#, python-format
msgid "Starting bridge %s "
msgstr ""
-#: nova/network/linux_net.py:1745
+#: nova/network/linux_net.py:1757
#, python-format
msgid "Done starting bridge %s"
msgstr ""
@@ -5736,13 +5926,13 @@ msgstr ""
msgid "Network must be disassociated from project %s before delete"
msgstr ""
-#: nova/network/manager.py:1794
+#: nova/network/manager.py:1792
msgid ""
"The sum between the number of networks and the vlan start cannot be "
"greater than 4094"
msgstr ""
-#: nova/network/manager.py:1801
+#: nova/network/manager.py:1799
#, python-format
msgid ""
"The network range is not big enough to fit %(num_networks)s networks. "
@@ -5778,151 +5968,152 @@ msgstr ""
msgid "Cannot delete domain |%s|"
msgstr ""
-#: nova/network/model.py:382
+#: nova/network/model.py:383
msgid "v4 subnets are required for legacy nw_info"
msgstr ""
-#: nova/network/quantumv2/__init__.py:67
-msgid "quantum authentication failed"
+#: nova/network/quantumv2/__init__.py:45
+#, python-format
+msgid "Quantum client authentication failed: %s"
msgstr ""
-#: nova/network/quantumv2/api.py:154
+#: nova/network/quantumv2/api.py:152
#, python-format
msgid "allocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:157
+#: nova/network/quantumv2/api.py:155
#, python-format
msgid "empty project id for instance %s"
msgstr ""
-#: nova/network/quantumv2/api.py:203
+#: nova/network/quantumv2/api.py:201
#, python-format
msgid ""
"Multiple security groups found matching '%s'. Use an ID to be more "
"specific."
msgstr ""
-#: nova/network/quantumv2/api.py:272
+#: nova/network/quantumv2/api.py:270
msgid "Port not found"
msgstr ""
-#: nova/network/quantumv2/api.py:280
+#: nova/network/quantumv2/api.py:278
#, python-format
msgid "Fail to delete port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:320
+#: nova/network/quantumv2/api.py:318
#, python-format
msgid "deallocate_for_instance() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:329
+#: nova/network/quantumv2/api.py:327
#, python-format
msgid "Failed to delete quantum port %(portid)s "
msgstr ""
-#: nova/network/quantumv2/api.py:351
+#: nova/network/quantumv2/api.py:349
#, python-format
msgid "Failed to delete quantum port %(port_id)s "
msgstr ""
-#: nova/network/quantumv2/api.py:375
+#: nova/network/quantumv2/api.py:373
#, python-format
msgid "get_instance_nw_info() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:407
+#: nova/network/quantumv2/api.py:405
#, python-format
msgid ""
"Unable to update port %(portid)s on subnet %(subnet_id)s with failure: "
"%(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:437
+#: nova/network/quantumv2/api.py:435
#, python-format
msgid "Unable to update port %(portid)s with failure: %(exception)s"
msgstr ""
-#: nova/network/quantumv2/api.py:447
+#: nova/network/quantumv2/api.py:445
#, python-format
msgid "validate_networks() for %s"
msgstr ""
-#: nova/network/quantumv2/api.py:690
+#: nova/network/quantumv2/api.py:688
#, python-format
msgid "Multiple floating IP pools matches found for name '%s'"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:53
+#: nova/network/security_group/quantum_driver.py:56
#, python-format
msgid "Quantum Error creating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:71
+#: nova/network/security_group/quantum_driver.py:75
#, python-format
msgid "Quantum Error updating security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:124
+#: nova/network/security_group/quantum_driver.py:129
#, python-format
msgid "Quantum security group %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:127
-#: nova/network/security_group/quantum_driver.py:173
-#: nova/network/security_group/quantum_driver.py:263
+#: nova/network/security_group/quantum_driver.py:132
+#: nova/network/security_group/quantum_driver.py:179
+#: nova/network/security_group/quantum_driver.py:270
#, python-format
msgid "Quantum Error: %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:147
+#: nova/network/security_group/quantum_driver.py:153
msgid "Quantum Error getting security groups"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:157
+#: nova/network/security_group/quantum_driver.py:162
msgid "Security group id should be uuid"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:192
+#: nova/network/security_group/quantum_driver.py:199
#, python-format
msgid "Quantum Error getting security group %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:196
-#: nova/network/security_group/quantum_driver.py:358
-#: nova/network/security_group/quantum_driver.py:364
-#: nova/network/security_group/quantum_driver.py:391
-#: nova/network/security_group/quantum_driver.py:406
-#: nova/network/security_group/quantum_driver.py:412
-#: nova/network/security_group/quantum_driver.py:441
+#: nova/network/security_group/quantum_driver.py:203
+#: nova/network/security_group/quantum_driver.py:366
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:399
+#: nova/network/security_group/quantum_driver.py:415
+#: nova/network/security_group/quantum_driver.py:422
+#: nova/network/security_group/quantum_driver.py:451
msgid "Quantum Error:"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:249
+#: nova/network/security_group/quantum_driver.py:257
#, python-format
msgid "Quantum Error unable to delete %s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:260
+#: nova/network/security_group/quantum_driver.py:267
#, python-format
msgid "Quantum security group rule %s not found"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:374
+#: nova/network/security_group/quantum_driver.py:382
#, python-format
msgid ""
"Cannot add security group %(name)s to %(instance)s since the port "
"%(port_id)s does not meet security requirements"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:384
-#: nova/network/security_group/quantum_driver.py:434
+#: nova/network/security_group/quantum_driver.py:392
+#: nova/network/security_group/quantum_driver.py:443
#, python-format
msgid "Adding security group %(security_group_id)s to port %(port_id)s"
msgstr ""
-#: nova/network/security_group/quantum_driver.py:444
+#: nova/network/security_group/quantum_driver.py:453
#, python-format
msgid ""
"Security group %(security_group_name)s not assocaited with the instance "
@@ -5943,12 +6134,12 @@ msgstr ""
msgid "Invalid version string"
msgstr ""
-#: nova/objects/base.py:201
+#: nova/objects/base.py:202
#, python-format
msgid "Unable to instantiate unregistered object type %(objtype)s"
msgstr ""
-#: nova/objects/base.py:303
+#: nova/objects/base.py:305
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
@@ -6151,11 +6342,21 @@ msgstr ""
msgid "Waiting on %d children to exit"
msgstr ""
-#: nova/openstack/common/strutils.py:72
+#: nova/openstack/common/strutils.py:86
#, python-format
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
+#: nova/openstack/common/strutils.py:182
+#, python-format
+msgid "Invalid string format: %s"
+msgstr ""
+
+#: nova/openstack/common/strutils.py:189
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
#: nova/openstack/common/db/sqlalchemy/session.py:462
msgid "DB exception wrapped."
msgstr ""
@@ -6205,11 +6406,6 @@ msgstr ""
msgid "Could not send notification to %(topic)s. Payload=%(message)s"
msgstr ""
-#: nova/openstack/common/plugin/pluginmanager.py:66
-#, python-format
-msgid "Failed to load plugin %(plug)s: %(exc)s"
-msgstr ""
-
#: nova/openstack/common/rpc/__init__.py:106
#, python-format
msgid ""
@@ -6636,86 +6832,83 @@ msgstr ""
msgid "No key defining hosts for topic '%s', see ringfile"
msgstr ""
-#: nova/scheduler/chance.py:51
+#: nova/scheduler/chance.py:56
msgid "Is the appropriate service running?"
msgstr ""
-#: nova/scheduler/chance.py:56
+#: nova/scheduler/chance.py:61
msgid "Could not find another compute"
msgstr ""
-#: nova/scheduler/driver.py:61
+#: nova/scheduler/driver.py:57
msgid "Exception during scheduler.run_instance"
msgstr ""
-#: nova/scheduler/driver.py:63 nova/scheduler/manager.py:225
+#: nova/scheduler/driver.py:59 nova/scheduler/utils.py:73
#, python-format
-msgid "Setting instance to %(state)s state."
+msgid "Setting instance to %s state."
msgstr ""
-#: nova/scheduler/driver.py:156
+#: nova/scheduler/driver.py:150
msgid "Driver must implement schedule_prep_resize"
msgstr ""
-#: nova/scheduler/driver.py:164
+#: nova/scheduler/driver.py:158
msgid "Driver must implement schedule_run_instance"
msgstr ""
-#: nova/scheduler/driver.py:169
-msgid "Driver must implement select_hosts"
+#: nova/scheduler/driver.py:167
+msgid "Driver must implement select_destinations"
msgstr ""
-#: nova/scheduler/driver.py:339
-#, python-format
-msgid ""
-"Unable to migrate %(instance_uuid)s to %(dest)s: Lack of "
-"memory(host:%(avail)s <= instance:%(mem_inst)s)"
+#: nova/scheduler/driver.py:172
+msgid "Driver must implement select_hosts"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:73
+#: nova/scheduler/filter_scheduler.py:76
#, python-format
msgid ""
"Attempting to build %(num_instances)d instance(s) uuids: "
"%(instance_uuids)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:77
+#: nova/scheduler/filter_scheduler.py:80
#, python-format
msgid "Request Spec: %s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:97
+#: nova/scheduler/filter_scheduler.py:100
#, fuzzy, python-format
msgid "Choosing host %(weighed_host)s for instance %(instance_uuid)s"
msgstr "掛載點 %(mountpoint)s 掛載到虛擬機器 %(instance_name)s"
-#: nova/scheduler/filter_scheduler.py:239
+#: nova/scheduler/filter_scheduler.py:258
msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:256
+#: nova/scheduler/filter_scheduler.py:275
#, python-format
msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:288
+#: nova/scheduler/filter_scheduler.py:307
#, python-format
msgid ""
"Exceeded max scheduling attempts %(max_attempts)d for instance "
"%(instance_uuid)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:356
+#: nova/scheduler/filter_scheduler.py:375
#, python-format
msgid "Filtered %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:361
+#: nova/scheduler/filter_scheduler.py:380
#, python-format
msgid "Weighed %(hosts)s"
msgstr ""
-#: nova/scheduler/filter_scheduler.py:403
+#: nova/scheduler/filter_scheduler.py:433
#, python-format
msgid "Unable to migrate %(instance_uuid)s to %(dest)s: Lack of memory"
msgstr ""
@@ -6750,35 +6943,35 @@ msgstr ""
msgid "Ignoring %(service_name)s service update from %(host)s"
msgstr ""
-#: nova/scheduler/host_manager.py:384
+#: nova/scheduler/host_manager.py:385
#, python-format
msgid "Received %(service_name)s service update from %(state_key)s."
msgstr ""
-#: nova/scheduler/host_manager.py:403
+#: nova/scheduler/host_manager.py:405
#: nova/scheduler/filters/trusted_filter.py:214
#, python-format
msgid "No service for compute ID %s"
msgstr ""
-#: nova/scheduler/host_manager.py:425
+#: nova/scheduler/host_manager.py:427
#, python-format
msgid "Removing dead compute node %(host)s:%(node)s from scheduler"
msgstr ""
-#: nova/scheduler/manager.py:211
+#: nova/scheduler/scheduler_options.py:71
#, python-format
-msgid "Failed to schedule_%(method)s: %(ex)s"
+msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:71
+#: nova/scheduler/scheduler_options.py:80
#, python-format
-msgid "Could not stat scheduler options file %(filename)s: '%(e)s'"
+msgid "Could not decode scheduler options: '%s'"
msgstr ""
-#: nova/scheduler/scheduler_options.py:79
+#: nova/scheduler/utils.py:57
#, python-format
-msgid "Could not decode scheduler options: '%(e)s'"
+msgid "Failed to %(service)s_%(method)s: %(ex)s"
msgstr ""
#: nova/scheduler/filters/affinity_filter.py:95
@@ -6802,7 +6995,7 @@ msgstr ""
#: nova/scheduler/filters/aggregate_multitenancy_isolation.py:44
#, python-format
-msgid "%(host_state)s fails tenant id on aggregate"
+msgid "%s fails tenant id on aggregate"
msgstr ""
#: nova/scheduler/filters/compute_capabilities_filter.py:58
@@ -6820,10 +7013,23 @@ msgstr ""
msgid "%(host_state)s is disabled via capabilities"
msgstr ""
-#: nova/scheduler/filters/core_filter.py:44
+#: nova/scheduler/filters/core_filter.py:50
msgid "VCPUs not set; assuming CPU collection broken"
msgstr ""
+#: nova/scheduler/filters/core_filter.py:93
+#: nova/scheduler/filters/ram_filter.py:94
+#, python-format
+msgid ""
+"%(num_values)d ratio values found, of which the minimum value will be "
+"used."
+msgstr ""
+
+#: nova/scheduler/filters/core_filter.py:100
+#, python-format
+msgid "Could not decode cpu_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/disk_filter.py:47
#, python-format
msgid ""
@@ -6871,13 +7077,18 @@ msgid ""
"to %(max_instances)s"
msgstr ""
-#: nova/scheduler/filters/ram_filter.py:46
+#: nova/scheduler/filters/ram_filter.py:55
#, python-format
msgid ""
"%(host_state)s does not have %(requested_ram)s MB usable ram, it only has"
" %(usable_ram)s MB usable ram."
msgstr ""
+#: nova/scheduler/filters/ram_filter.py:101
+#, python-format
+msgid "Could not decode ram_allocation_ratio: '%(e)s'"
+msgstr ""
+
#: nova/scheduler/filters/retry_filter.py:41
#, python-format
msgid "Host %(host)s %(pass_msg)s. Previously tried hosts: %(hosts)s"
@@ -7062,59 +7273,61 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3489
+#: nova/tests/api/openstack/compute/test_servers.py:3504
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3491
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3494
+#: nova/tests/api/openstack/compute/test_servers.py:3509
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3496
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3499
+#: nova/tests/api/openstack/compute/test_servers.py:3514
#: nova/tests/api/openstack/compute/plugins/v3/test_servers.py:3501
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
-#: nova/tests/compute/test_compute.py:1130
-#: nova/tests/compute/test_compute.py:1148
-#: nova/tests/compute/test_compute.py:1199
-#: nova/tests/compute/test_compute.py:1226
-#: nova/tests/compute/test_compute.py:1272
-#: nova/tests/compute/test_compute.py:4087
+#: nova/tests/compute/test_compute.py:1239
+#: nova/tests/compute/test_compute.py:1257
+#: nova/tests/compute/test_compute.py:1308
+#: nova/tests/compute/test_compute.py:1333
+#: nova/tests/compute/test_compute.py:1359
+#: nova/tests/compute/test_compute.py:1406
+#: nova/tests/compute/test_compute.py:4260
#, python-format
msgid "Running instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1136
-#: nova/tests/compute/test_compute.py:1171
-#: nova/tests/compute/test_compute.py:1214
-#: nova/tests/compute/test_compute.py:1244
+#: nova/tests/compute/test_compute.py:1245
+#: nova/tests/compute/test_compute.py:1280
+#: nova/tests/compute/test_compute.py:1323
+#: nova/tests/compute/test_compute.py:1347
+#: nova/tests/compute/test_compute.py:1377
#, python-format
msgid "After terminating instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:1777
+#: nova/tests/compute/test_compute.py:1949
msgid "Internal error"
msgstr ""
-#: nova/tests/compute/test_compute.py:4098
+#: nova/tests/compute/test_compute.py:4271
#, python-format
msgid "After force-killing instances: %s"
msgstr ""
-#: nova/tests/compute/test_compute.py:4598
+#: nova/tests/compute/test_compute.py:4782
msgid "wrong host/node"
msgstr ""
-#: nova/tests/compute/test_compute.py:9363
+#: nova/tests/compute/test_compute.py:9714
msgid "spawn error"
msgstr ""
-#: nova/tests/db/test_migrations.py:1772
+#: nova/tests/db/test_migrations.py:1805
#, python-format
msgid ""
"The following migrations are missing a downgrade:\n"
@@ -7234,19 +7447,19 @@ msgid "Expected a function in 'auth[1]' parameter"
msgstr ""
#: nova/tests/virt/xenapi/test_vm_utils.py:370
-#: nova/virt/xenapi/vm_utils.py:2183
+#: nova/virt/xenapi/vm_utils.py:2181
#, python-format
msgid ""
"Sparse copy in progress, %(complete_pct).2f%% complete. %(left) bytes "
"left to copy"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:899
+#: nova/tests/virt/xenapi/test_xenapi.py:900
#, python-format
msgid "Creating files in %s to simulate guest agent"
msgstr ""
-#: nova/tests/virt/xenapi/test_xenapi.py:910
+#: nova/tests/virt/xenapi/test_xenapi.py:911
#, python-format
msgid "Removing simulated guest agent files in %s"
msgstr ""
@@ -7256,25 +7469,25 @@ msgstr ""
msgid "Added %(filepath)s to config drive"
msgstr ""
-#: nova/virt/driver.py:948
+#: nova/virt/driver.py:949
msgid "Event must be an instance of nova.virt.event.Event"
msgstr ""
-#: nova/virt/driver.py:954
+#: nova/virt/driver.py:955
#, python-format
msgid "Exception dispatching event %(event)s: %(ex)s"
msgstr ""
-#: nova/virt/driver.py:976
+#: nova/virt/driver.py:977
msgid "Compute driver option required, but not specified"
msgstr ""
-#: nova/virt/driver.py:979
+#: nova/virt/driver.py:980
#, python-format
msgid "Loading compute driver '%s'"
msgstr ""
-#: nova/virt/driver.py:986
+#: nova/virt/driver.py:987
msgid "Unable to load the virtualization driver"
msgstr ""
@@ -7283,7 +7496,7 @@ msgstr ""
msgid "Key '%(key)s' not in instances '%(inst)s'"
msgstr ""
-#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:306
+#: nova/virt/firewall.py:189 nova/virt/libvirt/firewall.py:307
msgid "Attempted to unfilter instance which is not filtered"
msgstr ""
@@ -7305,20 +7518,20 @@ msgstr ""
msgid "Adding provider rule: %s"
msgstr ""
-#: nova/virt/images.py:113
+#: nova/virt/images.py:114
msgid "Snapshot list encountered but no header found!"
msgstr ""
-#: nova/virt/images.py:215
+#: nova/virt/images.py:203
msgid "'qemu-img info' parsing failed."
msgstr ""
-#: nova/virt/images.py:221
+#: nova/virt/images.py:209
#, python-format
msgid "fmt=%(fmt)s backed by: %(backing_file)s"
msgstr ""
-#: nova/virt/images.py:233
+#: nova/virt/images.py:221
#, python-format
msgid "Converted to raw, but format is now %s"
msgstr ""
@@ -7337,37 +7550,37 @@ msgstr ""
msgid "Baremetal node id not supplied to driver for %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:257
+#: nova/virt/baremetal/driver.py:259
#, python-format
msgid "Error deploying instance %(instance)s on baremetal node %(node)s."
msgstr ""
-#: nova/virt/baremetal/driver.py:284
+#: nova/virt/baremetal/driver.py:286
#, python-format
msgid "Baremetal power manager failed to restart node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:295
+#: nova/virt/baremetal/driver.py:297
#, python-format
msgid "Destroy called on non-existing instance %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:313
+#: nova/virt/baremetal/driver.py:315
#, python-format
msgid "Error from baremetal driver during destroy: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:318
+#: nova/virt/baremetal/driver.py:320
#, python-format
msgid "Error while recording destroy failure in baremetal database: %s"
msgstr ""
-#: nova/virt/baremetal/driver.py:328
+#: nova/virt/baremetal/driver.py:330
#, python-format
msgid "Baremetal power manager failed to stop node for instance %r"
msgstr ""
-#: nova/virt/baremetal/driver.py:340
+#: nova/virt/baremetal/driver.py:343
#, python-format
msgid "Baremetal power manager failed to start node for instance %r"
msgstr ""
@@ -7420,85 +7633,85 @@ msgstr ""
msgid "Activate node called, but node %s is already active"
msgstr ""
-#: nova/virt/baremetal/pxe.py:92
+#: nova/virt/baremetal/pxe.py:109
#, python-format
msgid "Building PXE config for deployment %s."
msgstr ""
-#: nova/virt/baremetal/pxe.py:231
+#: nova/virt/baremetal/pxe.py:228
#, python-format
msgid ""
"Can not activate PXE bootloader. The following boot parameters were not "
"passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:255 nova/virt/baremetal/tilera.py:170
+#: nova/virt/baremetal/pxe.py:252 nova/virt/baremetal/tilera.py:146
#, fuzzy, python-format
msgid "Fetching kernel and ramdisk for instance %s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:201
+#: nova/virt/baremetal/pxe.py:284 nova/virt/baremetal/tilera.py:177
#, python-format
msgid "Fetching image %(ami)s for instance %(name)s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:237
+#: nova/virt/baremetal/pxe.py:324 nova/virt/baremetal/tilera.py:213
#, fuzzy, python-format
msgid "Injecting files into image for instance %(name)s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:356
+#: nova/virt/baremetal/pxe.py:457 nova/virt/baremetal/tilera.py:332
#, python-format
msgid "Node associated with another instance while waiting for deploy of %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:466
+#: nova/virt/baremetal/pxe.py:464
#, fuzzy, python-format
msgid "PXE deploy started for instance %s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/baremetal/pxe.py:471
+#: nova/virt/baremetal/pxe.py:469
#, python-format
msgid "PXE deploy completed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:475
+#: nova/virt/baremetal/pxe.py:473
#, python-format
msgid "PXE deploy failed for instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:477 nova/virt/baremetal/tilera.py:381
+#: nova/virt/baremetal/pxe.py:475 nova/virt/baremetal/tilera.py:357
#, python-format
msgid "Baremetal node deleted while waiting for deployment of instance %s"
msgstr ""
-#: nova/virt/baremetal/pxe.py:482
+#: nova/virt/baremetal/pxe.py:480
#, python-format
msgid "Timeout reached while waiting for PXE deploy of instance %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:145
+#: nova/virt/baremetal/tilera.py:121
#, python-format
msgid ""
"Can not activate Tilera bootloader. The following boot parameters were "
"not passed to baremetal driver: %s"
msgstr ""
-#: nova/virt/baremetal/tilera.py:362
+#: nova/virt/baremetal/tilera.py:338
#, fuzzy, python-format
msgid "Tilera deploy started for instance %s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/baremetal/tilera.py:368
+#: nova/virt/baremetal/tilera.py:344
#, fuzzy, python-format
msgid "Tilera deploy completed for instance %s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/baremetal/tilera.py:376
+#: nova/virt/baremetal/tilera.py:352
msgid "Node is unknown error state."
msgstr ""
-#: nova/virt/baremetal/tilera.py:379
+#: nova/virt/baremetal/tilera.py:355
#, python-format
msgid "Tilera deploy failed for instance %s"
msgstr ""
@@ -7583,24 +7796,24 @@ msgstr ""
msgid "no pif for vif_uuid=%s"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:111
+#: nova/virt/baremetal/virtual_power_driver.py:109
msgid "virtual_power_ssh_host not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:115
+#: nova/virt/baremetal/virtual_power_driver.py:113
msgid "virtual_power_host_user not defined. Can not Start"
msgstr ""
-#: nova/virt/baremetal/virtual_power_driver.py:121
+#: nova/virt/baremetal/virtual_power_driver.py:119
msgid "virtual_power_host_pass/key not set. Can not Start"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:122
+#: nova/virt/baremetal/volume_driver.py:123
#, python-format
msgid "baremetal driver was unable to delete tid %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:186
+#: nova/virt/baremetal/volume_driver.py:187
#, python-format
msgid "Could not determine iscsi initiator name for instance %s"
msgstr ""
@@ -7610,7 +7823,7 @@ msgstr ""
msgid "No fixed PXE IP is associated to %s"
msgstr ""
-#: nova/virt/baremetal/volume_driver.py:259
+#: nova/virt/baremetal/volume_driver.py:260
#, python-format
msgid "detach volume could not find tid for %s"
msgstr ""
@@ -7624,22 +7837,18 @@ msgstr ""
msgid "Failed to associate instance %(i_uuid)s to baremetal node %(n_uuid)s."
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:329
-msgid "No more PXE IPs available"
-msgstr ""
-
-#: nova/virt/baremetal/db/sqlalchemy/api.py:351
-#: nova/virt/baremetal/db/sqlalchemy/api.py:393
+#: nova/virt/baremetal/db/sqlalchemy/api.py:246
+#: nova/virt/baremetal/db/sqlalchemy/api.py:288
#, python-format
msgid "Baremetal interface %s not found"
msgstr ""
-#: nova/virt/baremetal/db/sqlalchemy/api.py:403
+#: nova/virt/baremetal/db/sqlalchemy/api.py:298
#, fuzzy, python-format
msgid "Baremetal interface %s already in use"
msgstr "建立虛擬介é¢å¤±æ•—"
-#: nova/virt/baremetal/db/sqlalchemy/api.py:417
+#: nova/virt/baremetal/db/sqlalchemy/api.py:311
#, python-format
msgid "Baremetal virtual interface %s not found"
msgstr ""
@@ -7752,12 +7961,12 @@ msgid ""
msgstr ""
#: nova/virt/disk/mount/api.py:45 nova/virt/disk/mount/api.py:61
-#: nova/virt/disk/vfs/localfs.py:67
+#: nova/virt/disk/vfs/localfs.py:68
msgid "Using LoopMount"
msgstr ""
#: nova/virt/disk/mount/api.py:50 nova/virt/disk/mount/api.py:66
-#: nova/virt/disk/vfs/localfs.py:72
+#: nova/virt/disk/vfs/localfs.py:73
msgid "Using NbdMount"
msgstr ""
@@ -8010,12 +8219,12 @@ msgstr ""
msgid "chown uid=%(uid)d gid=%(gid)s"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:46
+#: nova/virt/disk/vfs/localfs.py:47
#, python-format
msgid "File path %s not valid"
msgstr ""
-#: nova/virt/disk/vfs/localfs.py:80
+#: nova/virt/disk/vfs/localfs.py:82
#, fuzzy, python-format
msgid "Failed to mount image %(ex)s)"
msgstr "找ä¸åˆ°Volume %s"
@@ -8044,23 +8253,23 @@ msgstr ""
msgid "The ISCSI initiator name can't be found. Choosing the default one"
msgstr ""
-#: nova/virt/hyperv/driver.py:150
+#: nova/virt/hyperv/driver.py:151
msgid "plug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:153
+#: nova/virt/hyperv/driver.py:154
msgid "unplug_vifs called"
msgstr ""
-#: nova/virt/hyperv/driver.py:156
+#: nova/virt/hyperv/driver.py:157
msgid "ensure_filtering_rules_for_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:160
+#: nova/virt/hyperv/driver.py:161
msgid "unfilter_instance called"
msgstr ""
-#: nova/virt/hyperv/driver.py:191
+#: nova/virt/hyperv/driver.py:192
msgid "get_console_output called"
msgstr ""
@@ -8073,7 +8282,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3923
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:4008
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8092,19 +8301,19 @@ msgstr ""
msgid "The image is not a valid VHD: %s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:69
+#: nova/virt/hyperv/imagecache.py:70
#, python-format
msgid ""
"Cannot resize the image to a size smaller than the VHD max. internal "
"size: %(vhd_size)s. Requested disk size: %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:84
+#: nova/virt/hyperv/imagecache.py:85
#, python-format
msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/imagecache.py:87
+#: nova/virt/hyperv/imagecache.py:90
#, python-format
msgid "Resizing VHD %(resized_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
@@ -8193,17 +8402,17 @@ msgid ""
"planned VM %(vm_name)s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:163
+#: nova/virt/hyperv/livemigrationutils.py:165
#, python-format
msgid "Updating remote planned VM disk paths for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:199
+#: nova/virt/hyperv/livemigrationutils.py:201
#, python-format
msgid "Starting live migration for VM: %s"
msgstr ""
-#: nova/virt/hyperv/livemigrationutils.py:208
+#: nova/virt/hyperv/livemigrationutils.py:210
#, python-format
msgid "Getting live migration networks for remote host: %s"
msgstr ""
@@ -8222,11 +8431,11 @@ msgstr ""
msgid "Copying disk \"%(disk_file)s\" to \"%(dest_path)s\""
msgstr ""
-#: nova/virt/hyperv/migrationops.py:96
+#: nova/virt/hyperv/migrationops.py:97
msgid "Cannot cleanup migration files"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:103
+#: nova/virt/hyperv/migrationops.py:105
#, python-format
msgid ""
"Cannot resize the root disk to a smaller size. Current size: "
@@ -8250,45 +8459,45 @@ msgstr ""
msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:171
+#: nova/virt/hyperv/migrationops.py:173
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_copy_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:177
+#: nova/virt/hyperv/migrationops.py:181
#, python-format
msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:189
+#: nova/virt/hyperv/migrationops.py:195
#, fuzzy, python-format
msgid "Getting info for disk: %s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/hyperv/migrationops.py:194
+#: nova/virt/hyperv/migrationops.py:200
#, python-format
msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:205
+#: nova/virt/hyperv/migrationops.py:212
#, python-format
msgid ""
"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
"%(diff_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:214
+#: nova/virt/hyperv/migrationops.py:223
msgid "finish_migration called"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:223
+#: nova/virt/hyperv/migrationops.py:232
#, python-format
msgid "Cannot find boot VHD file: %s"
msgstr ""
-#: nova/virt/hyperv/migrationops.py:236 nova/virt/hyperv/vmops.py:136
+#: nova/virt/hyperv/migrationops.py:245 nova/virt/hyperv/vmops.py:139
msgid "Cannot resize a VHD to a smaller size"
msgstr ""
@@ -8307,12 +8516,12 @@ msgstr ""
msgid "The file copy from %(src)s to %(dest)s failed"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:92
+#: nova/virt/hyperv/pathutils.py:93
#, python-format
msgid "Creating directory: %s"
msgstr ""
-#: nova/virt/hyperv/pathutils.py:97 nova/virt/hyperv/snapshotops.py:116
+#: nova/virt/hyperv/pathutils.py:98 nova/virt/hyperv/snapshotops.py:125
#, python-format
msgid "Removing directory: %s"
msgstr ""
@@ -8332,41 +8541,41 @@ msgstr ""
msgid "Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:83
+#: nova/virt/hyperv/snapshotops.py:84
#, python-format
msgid "Copying base disk %(src_vhd_path)s to %(dest_base_disk_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:88
+#: nova/virt/hyperv/snapshotops.py:91
#, python-format
msgid ""
"Reconnecting copied base VHD %(dest_base_disk_path)s and diff VHD "
"%(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:94
+#: nova/virt/hyperv/snapshotops.py:99
#, python-format
msgid "Merging base disk %(dest_base_disk_path)s and diff disk %(dest_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:99
+#: nova/virt/hyperv/snapshotops.py:106
#, python-format
msgid ""
-"Updating Glance image %(image_id)s with content from merged disk "
+"Updating Glance image %(name)s with content from merged disk "
"%(image_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:105
+#: nova/virt/hyperv/snapshotops.py:113
#, python-format
-msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
+msgid "Snapshot image %(name)s updated for VM %(instance_name)s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:109
+#: nova/virt/hyperv/snapshotops.py:118
#, python-format
msgid "Removing snapshot %s"
msgstr ""
-#: nova/virt/hyperv/snapshotops.py:113
+#: nova/virt/hyperv/snapshotops.py:122
#, python-format
msgid "Failed to remove snapshot for VM %s"
msgstr ""
@@ -8392,99 +8601,99 @@ msgid ""
"%(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:127
+#: nova/virt/hyperv/vmops.py:128
#, python-format
msgid "Copying VHD image %(base_vhd_path)s to target: %(root_vhd_path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:139
+#: nova/virt/hyperv/vmops.py:142
#, python-format
msgid "Resizing VHD %(root_vhd_path)s to new size %(root_vhd_size)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:152
+#: nova/virt/hyperv/vmops.py:157
msgid "Spawning new instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:178
+#: nova/virt/hyperv/vmops.py:183
msgid "Spawn instance failed"
msgstr ""
-#: nova/virt/hyperv/vmops.py:203
+#: nova/virt/hyperv/vmops.py:208
#, fuzzy, python-format
msgid "Creating nic for instance: %s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/hyperv/vmops.py:211
+#: nova/virt/hyperv/vmops.py:216
#, python-format
msgid "Invalid config_drive_format \"%s\""
msgstr ""
-#: nova/virt/hyperv/vmops.py:214
+#: nova/virt/hyperv/vmops.py:219
#, fuzzy, python-format
msgid "Using config drive for instance: %s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1909
+#: nova/virt/hyperv/vmops.py:232 nova/virt/libvirt/driver.py:1937
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1916
+#: nova/virt/hyperv/vmops.py:240 nova/virt/libvirt/driver.py:1944
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:271
+#: nova/virt/hyperv/vmops.py:276
#, fuzzy, python-format
msgid "Got request to destroy instance: %s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/hyperv/vmops.py:284
+#: nova/virt/hyperv/vmops.py:289
#, python-format
msgid "Instance not found: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:290
+#: nova/virt/hyperv/vmops.py:295
#, fuzzy, python-format
msgid "Failed to destroy instance: %s"
msgstr "無法å¸è¼‰ Volume %s"
-#: nova/virt/hyperv/vmops.py:295
+#: nova/virt/hyperv/vmops.py:300
#, fuzzy
msgid "reboot instance"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/hyperv/vmops.py:301
+#: nova/virt/hyperv/vmops.py:306
msgid "Pause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:307
+#: nova/virt/hyperv/vmops.py:312
msgid "Unpause instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:313
+#: nova/virt/hyperv/vmops.py:318
msgid "Suspend instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:319
+#: nova/virt/hyperv/vmops.py:324
msgid "Resume instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:325
+#: nova/virt/hyperv/vmops.py:330
msgid "Power off instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:331
+#: nova/virt/hyperv/vmops.py:336
msgid "Power on instance"
msgstr ""
-#: nova/virt/hyperv/vmops.py:338
+#: nova/virt/hyperv/vmops.py:343
#, python-format
msgid "Successfully changed state of VM %(vm_name)s to: %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:342
+#: nova/virt/hyperv/vmops.py:348
#, python-format
msgid "Failed to change vm state of %(vm_name)s to %(req_state)s"
msgstr ""
@@ -8518,29 +8727,29 @@ msgstr ""
msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:373
+#: nova/virt/hyperv/vmutils.py:374
#, python-format
msgid "Operation failed with return value: %s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:391
+#: nova/virt/hyperv/vmutils.py:392
#, python-format
msgid ""
"WMI job failed with status %(job_state)d. Error details: %(err_sum_desc)s"
" - %(err_desc)s - Error code: %(err_code)d"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:399
+#: nova/virt/hyperv/vmutils.py:403
#, python-format
msgid "WMI job failed with status %(job_state)d. Error details: %(error)s"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:403
+#: nova/virt/hyperv/vmutils.py:409
#, python-format
-msgid "WMI job failed with status %(job_state)d. No error description available"
+msgid "WMI job failed with status %d. No error description available"
msgstr ""
-#: nova/virt/hyperv/vmutils.py:409
+#: nova/virt/hyperv/vmutils.py:415
#, python-format
msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s"
msgstr ""
@@ -8552,53 +8761,53 @@ msgid ""
"%(target_portal)s, IQN: %(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:102
+#: nova/virt/hyperv/volumeops.py:104
#, python-format
msgid ""
"Logging in on storage target. Portal: %(target_portal)s, IQN: "
"%(target_iqn)s, LUN: %(target_lun)s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:115
+#: nova/virt/hyperv/volumeops.py:119
#, fuzzy, python-format
msgid "Attach_volume: %(connection_info)s to %(instance_name)s"
msgstr "å¸è¼‰_Volume: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:145
+#: nova/virt/hyperv/volumeops.py:150
#, fuzzy, python-format
msgid "Attach volume failed: %s"
msgstr "無法å¸è¼‰ Volume %s"
-#: nova/virt/hyperv/volumeops.py:147
+#: nova/virt/hyperv/volumeops.py:152
#, python-format
msgid "Unable to attach volume to instance %s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/hyperv/volumeops.py:160
+#: nova/virt/hyperv/volumeops.py:165
#, python-format
-msgid "Logging off storage target %(target_iqn)s"
+msgid "Logging off storage target %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:165
+#: nova/virt/hyperv/volumeops.py:170
#, fuzzy, python-format
msgid "Detach_volume: %(connection_info)s from %(instance_name)s"
msgstr "å¸è¼‰_Volume: %(instance_name)s, %(mountpoint)s"
-#: nova/virt/hyperv/volumeops.py:176
+#: nova/virt/hyperv/volumeops.py:183
#, fuzzy, python-format
msgid "Detaching physical disk from instance: %s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:938
+#: nova/virt/hyperv/volumeops.py:193 nova/virt/libvirt/driver.py:959
msgid "Could not determine iscsi initiator name"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:198 nova/virt/hyperv/volumeops.py:211
+#: nova/virt/hyperv/volumeops.py:205 nova/virt/hyperv/volumeops.py:219
#, python-format
msgid "Unable to find a mounted disk for target_iqn: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:200
+#: nova/virt/hyperv/volumeops.py:207
#, python-format
msgid "Device number: %(device_number)s, target lun: %(target_lun)s"
msgstr ""
@@ -8628,241 +8837,237 @@ msgstr ""
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:567
+#: nova/virt/libvirt/driver.py:565
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:578
+#: nova/virt/libvirt/driver.py:579
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:596
+#: nova/virt/libvirt/driver.py:597
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:606
+#: nova/virt/libvirt/driver.py:607
#, python-format
msgid "URI %s does not support connection events"
msgstr ""
-#: nova/virt/libvirt/driver.py:616
+#: nova/virt/libvirt/driver.py:617
#, python-format
msgid "Connection to libvirt lost: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:629
+#: nova/virt/libvirt/driver.py:630
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:651 nova/virt/libvirt/driver.py:654
+#: nova/virt/libvirt/driver.py:652 nova/virt/libvirt/driver.py:655
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:672
+#: nova/virt/libvirt/driver.py:673
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "連接到glance失敗"
-#: nova/virt/libvirt/driver.py:763
+#: nova/virt/libvirt/driver.py:782
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:778
+#: nova/virt/libvirt/driver.py:798
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:783
+#: nova/virt/libvirt/driver.py:803
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:793
+#: nova/virt/libvirt/driver.py:813
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:803
+#: nova/virt/libvirt/driver.py:823
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:822
+#: nova/virt/libvirt/driver.py:842
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:838
+#: nova/virt/libvirt/driver.py:858
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:858
+#: nova/virt/libvirt/driver.py:878
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:864
+#: nova/virt/libvirt/driver.py:884
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:892
+#: nova/virt/libvirt/driver.py:913
#, python-format
-msgid "Deleting instance files %(target)s"
+msgid "Deleting instance files %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:901
+#: nova/virt/libvirt/driver.py:922
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:944
+#: nova/virt/libvirt/driver.py:965
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:951
+#: nova/virt/libvirt/driver.py:972
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:956
-msgid "No Volume Connector found."
-msgstr ""
-
-#: nova/virt/libvirt/driver.py:1078
+#: nova/virt/libvirt/driver.py:1096
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1102
+#: nova/virt/libvirt/driver.py:1120
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1122
+#: nova/virt/libvirt/driver.py:1140
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1126
+#: nova/virt/libvirt/driver.py:1144
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1212
+#: nova/virt/libvirt/driver.py:1242
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1215
+#: nova/virt/libvirt/driver.py:1245
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1244
+#: nova/virt/libvirt/driver.py:1274
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1256
+#: nova/virt/libvirt/driver.py:1286
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1329
+#: nova/virt/libvirt/driver.py:1352
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1333
+#: nova/virt/libvirt/driver.py:1356
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1368
+#: nova/virt/libvirt/driver.py:1394
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1376
+#: nova/virt/libvirt/driver.py:1402
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1424
+#: nova/virt/libvirt/driver.py:1451
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1570
+#: nova/virt/libvirt/driver.py:1597
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1577 nova/virt/powervm/operator.py:220
+#: nova/virt/libvirt/driver.py:1604 nova/virt/powervm/operator.py:224
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1593
+#: nova/virt/libvirt/driver.py:1620
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1630 nova/virt/libvirt/driver.py:1656
+#: nova/virt/libvirt/driver.py:1658 nova/virt/libvirt/driver.py:1684
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1645 nova/virt/xenapi/vmops.py:1442
+#: nova/virt/libvirt/driver.py:1673 nova/virt/xenapi/vmops.py:1442
#, fuzzy
msgid "Guest does not have a console available"
msgstr "使用者並沒有管ç†è€…權力"
-#: nova/virt/libvirt/driver.py:1714
+#: nova/virt/libvirt/driver.py:1742
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1718
+#: nova/virt/libvirt/driver.py:1746
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1723 nova/virt/libvirt/driver.py:1728
+#: nova/virt/libvirt/driver.py:1751 nova/virt/libvirt/driver.py:1756
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1799
+#: nova/virt/libvirt/driver.py:1827
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1900
+#: nova/virt/libvirt/driver.py:1928
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1949
+#: nova/virt/libvirt/driver.py:1981
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1959
+#: nova/virt/libvirt/driver.py:1993
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2018
+#: nova/virt/libvirt/driver.py:2053
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
"hypervisor '%s' does not support selecting CPU models"
msgstr ""
-#: nova/virt/libvirt/driver.py:2024
+#: nova/virt/libvirt/driver.py:2059
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:2028
+#: nova/virt/libvirt/driver.py:2063
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:2032
+#: nova/virt/libvirt/driver.py:2067
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2048
+#: nova/virt/libvirt/driver.py:2083
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2372
+#: nova/virt/libvirt/driver.py:2407
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8870,75 +9075,91 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2387
+#: nova/virt/libvirt/driver.py:2424
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2404
+#: nova/virt/libvirt/driver.py:2442
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_id)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2425
+#: nova/virt/libvirt/driver.py:2463
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2525 nova/virt/libvirt/driver.py:2716
+#: nova/virt/libvirt/driver.py:2513
+#, python-format
+msgid "An error occurred while trying to define a domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2522
+#, python-format
+msgid "An error occurred while trying to launch a defined domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2530
+#, python-format
+msgid "An error occurred while enabling hairpin mode on domain with xml: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2584 nova/virt/libvirt/driver.py:2775
+#: nova/virt/libvirt/driver.py:2801
#, python-format
msgid "libvirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2607 nova/virt/libvirt/driver.py:2611
+#: nova/virt/libvirt/driver.py:2666 nova/virt/libvirt/driver.py:2670
#, python-format
msgid "Invalid range expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2620
+#: nova/virt/libvirt/driver.py:2679
#, python-format
msgid "Invalid exclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2627
+#: nova/virt/libvirt/driver.py:2686
#, python-format
msgid "Invalid inclusion expression %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2632
+#: nova/virt/libvirt/driver.py:2691
#, python-format
msgid "No CPUs available after parsing %r"
msgstr ""
-#: nova/virt/libvirt/driver.py:2649
+#: nova/virt/libvirt/driver.py:2708
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2659
+#: nova/virt/libvirt/driver.py:2718
msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
msgstr ""
-#: nova/virt/libvirt/driver.py:2711
+#: nova/virt/libvirt/driver.py:2770
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2778
+#: nova/virt/libvirt/driver.py:2842
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2863
+#: nova/virt/libvirt/driver.py:2927
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "無法å¸è¼‰ Volume %s"
-#: nova/virt/libvirt/driver.py:2876
+#: nova/virt/libvirt/driver.py:2940
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8946,50 +9167,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2894
+#: nova/virt/libvirt/driver.py:2958
#, python-format
msgid ""
"Getting block stats failed, device might have been detached. "
"Instance=%(instance_name)s Disk=%(disk)s Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2899
+#: nova/virt/libvirt/driver.py:2964
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2976
+#: nova/virt/libvirt/driver.py:3041
#, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
"is on the same shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3057
+#: nova/virt/libvirt/driver.py:3122
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3065
+#: nova/virt/libvirt/driver.py:3130
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3110
+#: nova/virt/libvirt/driver.py:3174
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
"large(available on destination host:%(available)s < need:%(necessary)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:3135
+#: nova/virt/libvirt/driver.py:3202
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3147
+#: nova/virt/libvirt/driver.py:3214
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8999,69 +9220,74 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3164
+#: nova/virt/libvirt/driver.py:3231
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:3214
+#: nova/virt/libvirt/driver.py:3281
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3286
+#: nova/virt/libvirt/driver.py:3353
#, python-format
-msgid "Live Migration failure: %(e)s"
+msgid "Live Migration failure: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3388
+#: nova/virt/libvirt/driver.py:3455
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3500
+#: nova/virt/libvirt/driver.py:3568
#, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
" Code %(error_code)s] %(ex)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3517
+#: nova/virt/libvirt/driver.py:3600
#, python-format
-msgid "skipping %(path)s since it looks like volume"
+msgid "skipping %s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3522
+#: nova/virt/libvirt/driver.py:3604
#, python-format
-msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgid "skipping disk for %s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3563
+#: nova/virt/libvirt/driver.py:3609
+#, python-format
+msgid "skipping disk %(path)s (%(target)s) as it is a volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3649
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3633
+#: nova/virt/libvirt/driver.py:3719
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3701
+#: nova/virt/libvirt/driver.py:3788
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3707
+#: nova/virt/libvirt/driver.py:3794
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3772
+#: nova/virt/libvirt/driver.py:3859
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3895
+#: nova/virt/libvirt/driver.py:3982
#, python-format
-msgid "Checking instance files accessability%(instance_path)s"
+msgid "Checking instance files accessability %s"
msgstr ""
#: nova/virt/libvirt/firewall.py:51
@@ -9080,15 +9306,15 @@ msgstr ""
#: nova/virt/libvirt/firewall.py:248
#, python-format
-msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgid "The nwfilter(%s) is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:271
+#: nova/virt/libvirt/firewall.py:270
#, python-format
msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgstr ""
-#: nova/virt/libvirt/firewall.py:287
+#: nova/virt/libvirt/firewall.py:288
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
@@ -9242,22 +9468,22 @@ msgstr ""
msgid "Verification complete"
msgstr ""
-#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+#: nova/virt/libvirt/utils.py:77 nova/virt/libvirt/utils.py:83
msgid "systool is not installed"
msgstr ""
-#: nova/virt/libvirt/utils.py:82
+#: nova/virt/libvirt/utils.py:87
msgid "Cannot find any Fibre Channel HBAs"
msgstr ""
-#: nova/virt/libvirt/utils.py:224
+#: nova/virt/libvirt/utils.py:229
#, python-format
msgid ""
"Insufficient Space on Volume Group %(vg)s. Only %(free_space)db "
"available, but %(size)db required by volume %(lv)s."
msgstr ""
-#: nova/virt/libvirt/utils.py:237
+#: nova/virt/libvirt/utils.py:242
#, python-format
msgid ""
"Volume group %(vg)s will not be able to hold sparse volume %(lv)s. "
@@ -9265,61 +9491,62 @@ msgid ""
"%(free_space)db."
msgstr ""
-#: nova/virt/libvirt/utils.py:272
+#: nova/virt/libvirt/utils.py:277
#, python-format
msgid "vg %s must be LVM volume group"
msgstr ""
-#: nova/virt/libvirt/utils.py:301
+#: nova/virt/libvirt/utils.py:306
#, python-format
msgid "Path %s must be LVM logical volume"
msgstr ""
-#: nova/virt/libvirt/utils.py:567
+#: nova/virt/libvirt/utils.py:572
msgid "Can't retrieve root device path from instance libvirt configuration"
msgstr ""
-#: nova/virt/libvirt/vif.py:265 nova/virt/libvirt/vif.py:386
-#: nova/virt/libvirt/vif.py:473
+#: nova/virt/libvirt/vif.py:295 nova/virt/libvirt/vif.py:465
+#: nova/virt/libvirt/vif.py:593
#, python-format
msgid ""
"vif_type=%(vif_type)s instance=%(instance)s network=%(network)s "
"mapping=%(mapping)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:271 nova/virt/libvirt/vif.py:392
-#: nova/virt/libvirt/vif.py:479
+#: nova/virt/libvirt/vif.py:302 nova/virt/libvirt/vif.py:472
+#: nova/virt/libvirt/vif.py:600
msgid "vif_type parameter must be present for this vif_driver implementation"
msgstr ""
-#: nova/virt/libvirt/vif.py:292 nova/virt/libvirt/vif.py:405
-#: nova/virt/libvirt/vif.py:492
+#: nova/virt/libvirt/vif.py:326 nova/virt/libvirt/vif.py:486
+#: nova/virt/libvirt/vif.py:614
#, python-format
msgid "Unexpected vif_type=%s"
msgstr ""
-#: nova/virt/libvirt/vif.py:304
+#: nova/virt/libvirt/vif.py:338
#, python-format
msgid "Ensuring vlan %(vlan)s and bridge %(bridge)s"
msgstr ""
-#: nova/virt/libvirt/vif.py:314
+#: nova/virt/libvirt/vif.py:348
#, python-format
msgid "Ensuring bridge %s"
msgstr ""
-#: nova/virt/libvirt/vif.py:422 nova/virt/libvirt/vif.py:451
+#: nova/virt/libvirt/vif.py:503 nova/virt/libvirt/vif.py:532
+#: nova/virt/libvirt/vif.py:551 nova/virt/libvirt/vif.py:573
msgid "Failed while unplugging vif"
msgstr ""
-#: nova/virt/libvirt/vif.py:502
+#: nova/virt/libvirt/vif.py:624
msgid ""
"The LibvirtBridgeDriver VIF driver is now deprecated and will be removed "
"in the next release. Please use the LibvirtGenericVIFDriver VIF driver, "
"together with a network plugin that reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:529
+#: nova/virt/libvirt/vif.py:651
msgid ""
"The LibvirtOpenVswitchDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9327,7 +9554,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:558
+#: nova/virt/libvirt/vif.py:680
msgid ""
"The LibvirtHybridOVSBridgeDriver VIF driver is now deprecated and will be"
" removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9335,7 +9562,7 @@ msgid ""
"attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:587
+#: nova/virt/libvirt/vif.py:709
msgid ""
"The LibvirtOpenVswitchVirtualPortDriver VIF driver is now deprecated and "
"will be removed in the next release. Please use the "
@@ -9343,7 +9570,7 @@ msgid ""
"reports the 'vif_type' attribute"
msgstr ""
-#: nova/virt/libvirt/vif.py:614
+#: nova/virt/libvirt/vif.py:736
msgid ""
"The QuantumLinuxBridgeVIFDriver VIF driver is now deprecated and will be "
"removed in the next release. Please use the LibvirtGenericVIFDriver VIF "
@@ -9504,12 +9731,12 @@ msgstr ""
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:677
+#: nova/virt/powervm/blockdev.py:555 nova/virt/powervm/operator.py:694
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:694
+#: nova/virt/powervm/blockdev.py:572 nova/virt/powervm/operator.py:711
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
@@ -9537,16 +9764,16 @@ msgstr ""
msgid "File transfer from PowerVM manager failed"
msgstr "連接到glance失敗"
-#: nova/virt/powervm/driver.py:125
+#: nova/virt/powervm/driver.py:129
msgid "In get_host_ip_addr"
msgstr ""
-#: nova/virt/powervm/driver.py:128
+#: nova/virt/powervm/driver.py:132
#, python-format
msgid "Attempting to resolve %s"
msgstr ""
-#: nova/virt/powervm/driver.py:130
+#: nova/virt/powervm/driver.py:134
#, python-format
msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
msgstr ""
@@ -9556,7 +9783,7 @@ msgstr ""
msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
msgstr ""
-#: nova/virt/powervm/driver.py:307
+#: nova/virt/powervm/driver.py:308
#, python-format
msgid "Unrecognized root disk information: %s"
msgstr ""
@@ -9630,105 +9857,109 @@ msgstr ""
msgid "LPAR instance '%s' not found"
msgstr ""
-#: nova/virt/powervm/operator.py:186
+#: nova/virt/powervm/operator.py:190
#, fuzzy, python-format
msgid "PowerVM image creation failed: %s"
msgstr "建立虛擬介é¢å¤±æ•—"
-#: nova/virt/powervm/operator.py:200
+#: nova/virt/powervm/operator.py:204
#, python-format
msgid "Creating LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:202
+#: nova/virt/powervm/operator.py:206
#, fuzzy, python-format
msgid "LPAR instance '%s' creation failed"
msgstr "建立虛擬介é¢å¤±æ•—"
-#: nova/virt/powervm/operator.py:208
+#: nova/virt/powervm/operator.py:212
#, python-format
msgid "Activating the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:225
+#: nova/virt/powervm/operator.py:229
#, python-format
msgid "Instance '%s' failed to boot"
msgstr ""
-#: nova/virt/powervm/operator.py:237
+#: nova/virt/powervm/operator.py:241
msgid "Error while attempting to clean up failed instance launch."
msgstr ""
-#: nova/virt/powervm/operator.py:241
+#: nova/virt/powervm/operator.py:245
#, python-format
msgid "Instance spawned in %s seconds"
msgstr ""
-#: nova/virt/powervm/operator.py:252
+#: nova/virt/powervm/operator.py:256
#, python-format
msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
msgstr ""
-#: nova/virt/powervm/operator.py:271
+#: nova/virt/powervm/operator.py:275
#, python-format
msgid "Stopping instance %s for snapshot."
msgstr ""
-#: nova/virt/powervm/operator.py:294
+#: nova/virt/powervm/operator.py:298
#, python-format
msgid "Shutting down the instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:299
+#: nova/virt/powervm/operator.py:303
#, python-format
msgid "Deleting the LPAR instance '%s'"
msgstr ""
-#: nova/virt/powervm/operator.py:311
+#: nova/virt/powervm/operator.py:315
msgid "PowerVM instance cleanup failed"
msgstr ""
-#: nova/virt/powervm/operator.py:333 nova/virt/powervm/operator.py:389
+#: nova/virt/powervm/operator.py:337 nova/virt/powervm/operator.py:393
msgid "Not enough free memory in the host"
msgstr ""
-#: nova/virt/powervm/operator.py:344 nova/virt/powervm/operator.py:395
+#: nova/virt/powervm/operator.py:348 nova/virt/powervm/operator.py:399
msgid "Insufficient available CPU on PowerVM"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:138
+#: nova/virt/vmwareapi/driver.py:144
msgid ""
"Must specify vmwareapi_host_ip,vmwareapi_host_username and "
"vmwareapi_host_password to usecompute_driver=vmwareapi.VMwareESXDriver or"
" vmwareapi.VMwareVCDriver"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:349
+#: nova/virt/vmwareapi/driver.py:239
+msgid "Instance cannot be found in host, or in an unknownstate."
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:386
#, python-format
msgid "VMware Cluster %s is not found"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:451
+#: nova/virt/vmwareapi/driver.py:497
#, python-format
msgid "In vmwareapi:_create_session, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:534
+#: nova/virt/vmwareapi/driver.py:580
#, python-format
msgid "In vmwareapi:_call_method, got this exception: %s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:570
+#: nova/virt/vmwareapi/driver.py:616
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: success"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:575
+#: nova/virt/vmwareapi/driver.py:621
#, python-format
msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
msgstr ""
-#: nova/virt/vmwareapi/driver.py:579
+#: nova/virt/vmwareapi/driver.py:625
#, python-format
msgid "In vmwareapi:_poll_task, Got this error %s"
msgstr ""
@@ -9738,39 +9969,39 @@ msgstr ""
msgid "Error(s) %s occurred in the call to RetrieveProperties"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:46 nova/virt/xenapi/fake.py:79
+#: nova/virt/vmwareapi/fake.py:47 nova/virt/xenapi/fake.py:79
#, python-format
msgid "%(text)s: _db_content => %(content)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:133
+#: nova/virt/vmwareapi/fake.py:189
#, python-format
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:494
+#: nova/virt/vmwareapi/fake.py:591
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:496 nova/virt/vmwareapi/fake.py:673
+#: nova/virt/vmwareapi/fake.py:593 nova/virt/vmwareapi/fake.py:770
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:559
+#: nova/virt/vmwareapi/fake.py:656
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:574
+#: nova/virt/vmwareapi/fake.py:671
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:577
+#: nova/virt/vmwareapi/fake.py:674
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:670
+#: nova/virt/vmwareapi/fake.py:767
msgid "No Virtual Machine has been registered yet"
msgstr ""
@@ -9982,11 +10213,11 @@ msgstr ""
msgid "Did hard reboot of VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:944
+#: nova/virt/vmwareapi/vmops.py:634 nova/virt/vmwareapi/vmops.py:947
msgid "Destroying the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:949
+#: nova/virt/vmwareapi/vmops.py:639 nova/virt/vmwareapi/vmops.py:952
msgid "Destroyed the VM"
msgstr ""
@@ -10091,100 +10322,105 @@ msgstr ""
msgid "Powered on the VM"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:869
+#: nova/virt/vmwareapi/vmops.py:872
#, python-format
msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:898
+#: nova/virt/vmwareapi/vmops.py:901
#, python-format
msgid "Renaming the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:904
+#: nova/virt/vmwareapi/vmops.py:907
#, python-format
msgid "Renamed the VM to %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:919
+#: nova/virt/vmwareapi/vmops.py:922
#, python-format
msgid "Cloning VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:927
+#: nova/virt/vmwareapi/vmops.py:930
#, python-format
msgid "Cloned VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:940
+#: nova/virt/vmwareapi/vmops.py:943
msgid "instance not present"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:951
+#: nova/virt/vmwareapi/vmops.py:954
#, python-format
msgid ""
"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
" the VM: %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:966
+#: nova/virt/vmwareapi/vmops.py:970
#, python-format
msgid "Renaming the VM from %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:972
+#: nova/virt/vmwareapi/vmops.py:976
#, fuzzy, python-format
msgid "Renamed the VM from %s"
msgstr "找ä¸åˆ°Volume %s"
-#: nova/virt/vmwareapi/vmops.py:997
+#: nova/virt/vmwareapi/vmops.py:1001
#, python-format
msgid "Migrating VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1009
+#: nova/virt/vmwareapi/vmops.py:1013
#, python-format
msgid "Migrated VM to host %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1019 nova/virt/xenapi/vmops.py:1386
+#: nova/virt/vmwareapi/vmops.py:1023 nova/virt/xenapi/vmops.py:1386
#, python-format
msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1023
+#: nova/virt/vmwareapi/vmops.py:1027
#, python-format
msgid "Automatically hard rebooting %d"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1057
+#: nova/virt/vmwareapi/vmops.py:1061
msgid "get_diagnostics not implemented for vmwareapi"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1134
+#: nova/virt/vmwareapi/vmops.py:1107
+#, python-format
+msgid "VM %(uuid)s is currently on host %(host_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1158
msgid "Reconfiguring VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1140
+#: nova/virt/vmwareapi/vmops.py:1164
msgid "Reconfigured VM instance to set the machine id"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1152
+#: nova/virt/vmwareapi/vmops.py:1176
#, python-format
msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1159
+#: nova/virt/vmwareapi/vmops.py:1183
#, python-format
msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1252
+#: nova/virt/vmwareapi/vmops.py:1276
#, python-format
msgid "Creating directory with path %s"
msgstr ""
-#: nova/virt/vmwareapi/vmops.py:1258
+#: nova/virt/vmwareapi/vmops.py:1282
#, python-format
msgid "Created directory with path %s"
msgstr ""
@@ -10229,7 +10465,7 @@ msgstr ""
msgid "Rescanned HBA %s "
msgstr ""
-#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:267
+#: nova/virt/vmwareapi/volume_util.py:178 nova/virt/xenapi/volume_utils.py:275
#, python-format
msgid "Mountpoint cannot be translated: %s"
msgstr ""
@@ -10307,106 +10543,87 @@ msgstr "無法å¸è¼‰ Volume %s"
msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
msgstr "掛載點 %(mountpoint)s 從虛擬機器 %(instance_name)s å¸è¼‰"
-#: nova/virt/xenapi/agent.py:101 nova/virt/xenapi/vmops.py:1640
+#: nova/virt/xenapi/agent.py:102 nova/virt/xenapi/vmops.py:1640
#, python-format
msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:106 nova/virt/xenapi/vmops.py:1645
+#: nova/virt/xenapi/agent.py:107 nova/virt/xenapi/vmops.py:1645
#, python-format
msgid ""
"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:111 nova/virt/xenapi/vmops.py:1650
+#: nova/virt/xenapi/agent.py:112 nova/virt/xenapi/vmops.py:1650
#, python-format
msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:123
+#: nova/virt/xenapi/agent.py:122
#, python-format
msgid ""
"The agent call to %(method)s returned an invalid response: %(ret)r. "
"args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:134
+#: nova/virt/xenapi/agent.py:129
#, python-format
-msgid "Failed to query agent version: %r"
+msgid "The agent call to %(method)s returned an an error: %(ret)r. args=%(args)r"
msgstr ""
-#: nova/virt/xenapi/agent.py:153
+#: nova/virt/xenapi/agent.py:155
msgid "Querying agent version"
msgstr ""
-#: nova/virt/xenapi/agent.py:167
-msgid "Reached maximum time attempting to query agent version"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:175
+#: nova/virt/xenapi/agent.py:174
#, python-format
msgid "Updating agent to %s"
msgstr ""
#: nova/virt/xenapi/agent.py:183
#, python-format
-msgid "Failed to update agent: %r"
+msgid "Unable to update the agent due to: %(exc)s"
msgstr ""
-#: nova/virt/xenapi/agent.py:197
+#: nova/virt/xenapi/agent.py:215
msgid "Setting admin password"
msgstr ""
-#: nova/virt/xenapi/agent.py:208 nova/virt/xenapi/agent.py:228
-#, python-format
-msgid "Failed to exchange keys: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:249
+#: nova/virt/xenapi/agent.py:231
msgid "Skipping setting of ssh key for Windows."
msgstr ""
-#: nova/virt/xenapi/agent.py:264
+#: nova/virt/xenapi/agent.py:247
#, python-format
msgid "Injecting file path: %r"
msgstr ""
-#: nova/virt/xenapi/agent.py:277
-#, python-format
-msgid "Failed to inject file: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:284
+#: nova/virt/xenapi/agent.py:257
msgid "Resetting network"
msgstr ""
-#: nova/virt/xenapi/agent.py:290
-#, python-format
-msgid "Failed to reset network: %r"
-msgstr ""
-
-#: nova/virt/xenapi/agent.py:313
+#: nova/virt/xenapi/agent.py:279
msgid ""
"XenServer tools installed in this image are capable of network injection."
" Networking files will not bemanipulated"
msgstr ""
-#: nova/virt/xenapi/agent.py:321
+#: nova/virt/xenapi/agent.py:287
msgid ""
"XenServer tools are present in this image but are not capable of network "
"injection"
msgstr ""
-#: nova/virt/xenapi/agent.py:325
+#: nova/virt/xenapi/agent.py:291
msgid "XenServer tools are not installed in this image"
msgstr ""
-#: nova/virt/xenapi/agent.py:339
+#: nova/virt/xenapi/agent.py:305
msgid "Invalid 'agent_present' value. Falling back to the default."
msgstr ""
-#: nova/virt/xenapi/agent.py:392
+#: nova/virt/xenapi/agent.py:358
#, python-format
msgid "OpenSSL error: %s"
msgstr ""
@@ -10422,54 +10639,54 @@ msgstr ""
msgid "Failure while cleaning up attached VDIs"
msgstr ""
-#: nova/virt/xenapi/driver.py:348
+#: nova/virt/xenapi/driver.py:349
#, python-format
msgid "Could not determine key: %s"
msgstr ""
-#: nova/virt/xenapi/driver.py:571
+#: nova/virt/xenapi/driver.py:572
msgid "Host startup on XenServer is not supported."
msgstr ""
-#: nova/virt/xenapi/driver.py:632
+#: nova/virt/xenapi/driver.py:633
msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
msgstr ""
-#: nova/virt/xenapi/driver.py:672
+#: nova/virt/xenapi/driver.py:673
msgid "Host is member of a pool, but DB says otherwise"
msgstr ""
-#: nova/virt/xenapi/driver.py:757 nova/virt/xenapi/driver.py:771
+#: nova/virt/xenapi/driver.py:758 nova/virt/xenapi/driver.py:772
#, python-format
msgid "Got exception: %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:705 nova/virt/xenapi/fake.py:809
-#: nova/virt/xenapi/fake.py:828 nova/virt/xenapi/fake.py:896
+#: nova/virt/xenapi/fake.py:712 nova/virt/xenapi/fake.py:816
+#: nova/virt/xenapi/fake.py:835 nova/virt/xenapi/fake.py:903
msgid "Raising NotImplemented"
msgstr ""
-#: nova/virt/xenapi/fake.py:707
+#: nova/virt/xenapi/fake.py:714
#, python-format
msgid "xenapi.fake does not have an implementation for %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:740
+#: nova/virt/xenapi/fake.py:747
#, python-format
msgid "Calling %(name)s %(impl)s"
msgstr ""
-#: nova/virt/xenapi/fake.py:746
+#: nova/virt/xenapi/fake.py:753
#, python-format
msgid "Calling getter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:749
+#: nova/virt/xenapi/fake.py:756
#, python-format
msgid "Calling setter %s"
msgstr ""
-#: nova/virt/xenapi/fake.py:811
+#: nova/virt/xenapi/fake.py:818
#, python-format
msgid ""
"xenapi.fake does not have an implementation for %s or it has been called "
@@ -10729,228 +10946,228 @@ msgstr ""
msgid "Asking xapi to fetch vhd image %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1210
+#: nova/virt/xenapi/vm_utils.py:1208
#, python-format
msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1228
+#: nova/virt/xenapi/vm_utils.py:1226
#, python-format
msgid "Image size %(size)d exceeded instance_type allowed size %(allowed_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1252
+#: nova/virt/xenapi/vm_utils.py:1250
#, python-format
msgid "Fetching image %(image_id)s, type %(image_type_str)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1266
+#: nova/virt/xenapi/vm_utils.py:1264
#, python-format
msgid "Size for image %(image_id)s: %(virtual_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1276
+#: nova/virt/xenapi/vm_utils.py:1274
#, python-format
msgid ""
"Kernel/Ramdisk image is too large: %(vdi_size)d bytes, max %(max_size)d "
"bytes"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1296
+#: nova/virt/xenapi/vm_utils.py:1294
#, python-format
msgid "Copying VDI %s to /boot/guest on dom0"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1310
+#: nova/virt/xenapi/vm_utils.py:1308
#, python-format
msgid "Kernel/Ramdisk VDI %s destroyed"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1319
+#: nova/virt/xenapi/vm_utils.py:1317
msgid "Failed to fetch glance image"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1360
+#: nova/virt/xenapi/vm_utils.py:1358
#, python-format
msgid "Detected %(image_type_str)s format for image %(image_ref)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1391
+#: nova/virt/xenapi/vm_utils.py:1389
#, python-format
msgid "Looking up vdi %s for PV kernel"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1409
+#: nova/virt/xenapi/vm_utils.py:1407
#, python-format
msgid ""
"Image format is None: trying to determine PV status using pygrub; if "
"instance with vdi %s does not boot correctly, try with image metadata."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1415
+#: nova/virt/xenapi/vm_utils.py:1413
#, python-format
msgid "Unknown image format %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1446
+#: nova/virt/xenapi/vm_utils.py:1444
#, python-format
msgid "VDI %s is still available"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1549
+#: nova/virt/xenapi/vm_utils.py:1547
#, python-format
msgid "Unable to parse rrd of %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1577
+#: nova/virt/xenapi/vm_utils.py:1575
#, python-format
msgid "Re-scanning SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1605
+#: nova/virt/xenapi/vm_utils.py:1603
#, python-format
msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1623
+#: nova/virt/xenapi/vm_utils.py:1621
msgid ""
"XenAPI is unable to find a Storage Repository to install guest instances "
"on. Please check your configuration and/or configure the flag "
"'sr_matching_filter'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1636
+#: nova/virt/xenapi/vm_utils.py:1634
msgid "Cannot find SR of content-type ISO"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1644
+#: nova/virt/xenapi/vm_utils.py:1642
#, python-format
msgid "ISO: looking at SR %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1646
+#: nova/virt/xenapi/vm_utils.py:1644
msgid "ISO: not iso content"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1649
+#: nova/virt/xenapi/vm_utils.py:1647
msgid "ISO: iso content_type, no 'i18n-key' key"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1652
+#: nova/virt/xenapi/vm_utils.py:1650
msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1656
+#: nova/virt/xenapi/vm_utils.py:1654
msgid "ISO: SR MATCHing our criteria"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1658
+#: nova/virt/xenapi/vm_utils.py:1656
msgid "ISO: ISO, looking to see if it is host local"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1661
+#: nova/virt/xenapi/vm_utils.py:1659
#, python-format
msgid "ISO: PBD %s disappeared"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1664
+#: nova/virt/xenapi/vm_utils.py:1662
#, python-format
msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1667
+#: nova/virt/xenapi/vm_utils.py:1665
msgid "ISO: SR with local PBD"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1689
+#: nova/virt/xenapi/vm_utils.py:1687
#, python-format
msgid ""
"Unable to obtain RRD XML for VM %(vm_uuid)s with server details: "
"%(server)s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1706
+#: nova/virt/xenapi/vm_utils.py:1704
#, python-format
msgid "Unable to obtain RRD XML updates with server details: %s."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1760
+#: nova/virt/xenapi/vm_utils.py:1758
#, python-format
msgid "Invalid statistics data from Xenserver: %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1820
+#: nova/virt/xenapi/vm_utils.py:1818
#, python-format
msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1908
+#: nova/virt/xenapi/vm_utils.py:1906
#, python-format
msgid ""
"Parent %(parent_uuid)s doesn't match original parent "
"%(original_parent_uuid)s, waiting for coalesce..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1920
+#: nova/virt/xenapi/vm_utils.py:1918
#, python-format
msgid "VHD coalesce attempts exceeded (%d), giving up..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1955
+#: nova/virt/xenapi/vm_utils.py:1953
#, python-format
msgid "Timeout waiting for device %s to be created"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1975
+#: nova/virt/xenapi/vm_utils.py:1973
#, python-format
msgid "Disconnecting stale VDI %s from compute domU"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1988
+#: nova/virt/xenapi/vm_utils.py:1986
#, python-format
msgid "Plugging VBD %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1991
+#: nova/virt/xenapi/vm_utils.py:1989
#, python-format
msgid "Plugging VBD %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1993
+#: nova/virt/xenapi/vm_utils.py:1991
#, python-format
msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:1997
+#: nova/virt/xenapi/vm_utils.py:1995
#, python-format
msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2003
+#: nova/virt/xenapi/vm_utils.py:2001
#, python-format
msgid "Destroying VBD for VDI %s ... "
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2011
+#: nova/virt/xenapi/vm_utils.py:2009
#, python-format
msgid "Destroying VBD for VDI %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2038
+#: nova/virt/xenapi/vm_utils.py:2036
#, python-format
msgid "Running pygrub against %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2046
+#: nova/virt/xenapi/vm_utils.py:2044
#, python-format
msgid "Found Xen kernel %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2048
+#: nova/virt/xenapi/vm_utils.py:2046
msgid "No Xen kernel found. Booting HVM."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2050
+#: nova/virt/xenapi/vm_utils.py:2048
msgid ""
"Error while executing pygrub! Please, ensure the binary is installed "
"correctly, and available in your PATH; on some Linux distros, pygrub may "
@@ -10958,58 +11175,58 @@ msgid ""
"mode."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2067
+#: nova/virt/xenapi/vm_utils.py:2065
msgid "Partitions:"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2073
+#: nova/virt/xenapi/vm_utils.py:2071
#, python-format
msgid " %(num)s: %(ptype)s %(size)d sectors"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2099
+#: nova/virt/xenapi/vm_utils.py:2097
#, python-format
msgid ""
"Writing partition table %(primary_first)d %(primary_last)d to "
"%(dev_path)s..."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2114
+#: nova/virt/xenapi/vm_utils.py:2112
#, python-format
msgid "Writing partition table %s done."
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2155
+#: nova/virt/xenapi/vm_utils.py:2153
#, python-format
msgid ""
"Resize down not allowed because minimum filesystem sectors "
"%(min_sectors)d is too big for target sectors %(new_sectors)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2198
+#: nova/virt/xenapi/vm_utils.py:2196
#, python-format
msgid ""
"Starting sparse_copy src=%(src_path)s dst=%(dst_path)s "
"virtual_size=%(virtual_size)d block_size=%(block_size)d"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2234
+#: nova/virt/xenapi/vm_utils.py:2232
#, python-format
msgid ""
"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
"reduction in size"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2287
+#: nova/virt/xenapi/vm_utils.py:2285
msgid "Manipulating interface files directly"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2296
+#: nova/virt/xenapi/vm_utils.py:2294
#, python-format
msgid "Failed to mount filesystem (expected for non-linux instances): %s"
msgstr ""
-#: nova/virt/xenapi/vm_utils.py:2409
+#: nova/virt/xenapi/vm_utils.py:2407
msgid "This domU must be running on the host specified by xenapi_connection_url"
msgstr ""
@@ -11276,11 +11493,16 @@ msgstr ""
msgid "Cannot purge SR with referenced VDIs"
msgstr ""
-#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:241
+#: nova/virt/xenapi/volume_utils.py:202 nova/virt/xenapi/volume_utils.py:249
#, python-format
msgid "Unable to obtain target information %s"
msgstr ""
+#: nova/virt/xenapi/volume_utils.py:243
+#, python-format
+msgid "(vol_id,host,port,iqn): (%(vol_id)s,%(host)s,%(port)s,%(iqn)s)"
+msgstr ""
+
#: nova/virt/xenapi/volumeops.py:47
#, python-format
msgid "Attach_volume: %(connection_info)s, %(instance_name)s,\" %(mountpoint)s"
@@ -11314,32 +11536,32 @@ msgstr ""
msgid "Error in handshake: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:116
+#: nova/vnc/xvp_proxy.py:115
#, python-format
msgid "Invalid request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:136
+#: nova/vnc/xvp_proxy.py:135
#, python-format
msgid "Request: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:139
+#: nova/vnc/xvp_proxy.py:138
#, python-format
msgid "Request made with missing token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:149
+#: nova/vnc/xvp_proxy.py:148
#, python-format
msgid "Request made with invalid token: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:156
+#: nova/vnc/xvp_proxy.py:155
#, python-format
msgid "Unexpected error: %s"
msgstr ""
-#: nova/vnc/xvp_proxy.py:176
+#: nova/vnc/xvp_proxy.py:175
#, python-format
msgid "Starting nova-xvpvncproxy node (version %s)"
msgstr ""
@@ -11357,212 +11579,19 @@ msgstr ""
msgid "status must be 'available'"
msgstr ""
-#~ msgid "Quota for %s should be integer."
-#~ msgstr ""
-
-#~ msgid "Unknown action"
-#~ msgstr "發生一個未知例外"
-
-#~ msgid "Instance type for vpn instances"
-#~ msgstr ""
-
-#~ msgid "%(nodename)s is not a valid node managed by this compute host."
-#~ msgstr ""
-
-#~ msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Instance %(driver_instance)s found in the "
-#~ "hypervisor, but not in the database"
-#~ msgstr ""
-
-#~ msgid "No node specified, defaulting to %(node)s"
-#~ msgstr ""
-
-#~ msgid "Cannot reboot instance: %(exc)s"
-#~ msgstr "無法掛載Volume 到虛擬機器 %s"
-
-#~ msgid ""
-#~ "trying to inject a file into a "
-#~ "non-running (state: %(current_power_state)s "
-#~ "expected: %(expected_state)s)"
-#~ msgstr ""
-
-#~ msgid "injecting file to %(path)s"
-#~ msgstr ""
-
-#~ msgid "Changing instance metadata according to %(diff)r"
-#~ msgstr ""
-
-#~ msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
-#~ msgstr ""
-
-#~ msgid "Port %(port_id)s is not attached"
-#~ msgstr ""
-
-#~ msgid "Host %(host)s not found"
-#~ msgstr ""
-
-#~ msgid "Pre live migration failed at %(dest)s"
-#~ msgstr ""
-
-#~ msgid "Migrating instance to %(dest)s finished successfully."
-#~ msgstr ""
-
-#~ msgid "Instance %(instance_uuid)s not found"
-#~ msgstr ""
-
-#~ msgid "Error auto-confirming resize: %(e)s. Will retry later."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Detected instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destroying instance with name label "
-#~ "'%(name)s' which is marked as DELETED"
-#~ " but still present on host."
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Unrecognized value '%(action)s' for "
-#~ "CONF.running_deleted_instance_action"
-#~ msgstr ""
-
-#~ msgid "List of domains returned by libVirt: %s"
-#~ msgstr ""
-
-#~ msgid "libVirt can't find a domain with id: %s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "The agent call to %(method)s returned"
-#~ " an invalid response: %(ret)r. "
-#~ "path=%(path)s; args=%(args)r"
-#~ msgstr ""
-
-#~ msgid "Failed to query agent version: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update agent: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to exchange keys: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to update password: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to inject file: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Failed to reset network: %(resp)r"
-#~ msgstr ""
-
-#~ msgid "Calling %(localname)s %(impl)s"
-#~ msgstr ""
-
-#~ msgid "Unable to migrate VM %(vm_ref)sfrom %(host)s"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; pool not empty"
-#~ msgstr ""
-
-#~ msgid "Unable to eject %(host)s from the pool; No master found"
-#~ msgstr ""
-
-#~ msgid "Pool-Join failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to join %(host)s in the pool"
-#~ msgstr ""
-
-#~ msgid "Pool-eject failed: %(e)s"
-#~ msgstr ""
-
-#~ msgid "Unable to set up pool: %(e)s."
-#~ msgstr "無法å¸è¼‰ Volume %s"
-
-#~ msgid "Pool-set_name_label failed: %(e)s"
-#~ msgstr ""
-
#~ msgid ""
-#~ "PIF %(pif_rec['uuid'])s for network %(bridge)s"
-#~ " has VLAN id %(pif_vlan)d. Expected "
-#~ "%(vlan_num)d"
+#~ "Updating Glance image %(image_id)s with "
+#~ "content from merged disk %(image_vhd_path)s"
#~ msgstr ""
-#~ msgid "No primary VDI found for %(vm_ref)s"
+#~ msgid "Snapshot image %(image_id)s updated for VM %(instance_name)s"
#~ msgstr ""
#~ msgid ""
-#~ "Fast cloning is only supported on "
-#~ "default local SR of type ext. SR"
-#~ " on this system was found to be"
-#~ " of type %(sr_type)s. Ignoring the "
-#~ "cow flag."
+#~ "WMI job failed with status "
+#~ "%(job_state)d. No error description available"
#~ msgstr ""
-#~ msgid "Asking xapi to fetch vhd image %(image_id)s"
-#~ msgstr ""
-
-#~ msgid "Unknown image format %(disk_image_type)s"
-#~ msgstr ""
-
-#~ msgid "Unable to parse rrd of %(vm_uuid)s"
-#~ msgstr ""
-
-#~ msgid "ISO: looking at SR %(sr_rec)s"
-#~ msgstr ""
-
-#~ msgid "ISO: PBD %(pbd_ref)s disappeared"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain RRD XML updates with server details: %(server)s."
-#~ msgstr ""
-
-#~ msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
-#~ msgstr ""
-
-#~ msgid "Updating progress to %(progress)d"
-#~ msgstr ""
-
-#~ msgid "Resize down not allowed without auto_disk_config"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "_migrate_disk_resizing_down failed. Restoring orig"
-#~ " vm due_to: %{exception}."
-#~ msgstr ""
-
-#~ msgid "Creating VIF for network %(network_ref)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Destination host:%(hostname)s must be in "
-#~ "the same aggregate as the source "
-#~ "server"
-#~ msgstr ""
-
-#~ msgid "Creating SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Introducing SR %(label)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(mountpoint)s"
-#~ msgstr ""
-
-#~ msgid "Unable to obtain target information %(connection_data)s"
-#~ msgstr ""
-
-#~ msgid "Connect_volume: %(connection_info)s"
-#~ msgstr "å¸è¼‰_Volume: %(instance_name)s, %(mountpoint)s"
-
-#~ msgid "Skipping detach because VBD for %(instance_name)s was not found"
+#~ msgid "Logging off storage target %(target_iqn)s"
#~ msgstr ""
diff --git a/nova/manager.py b/nova/manager.py
index d1cd26a4d..8fb5db81f 100644
--- a/nova/manager.py
+++ b/nova/manager.py
@@ -60,7 +60,6 @@ from nova.db import base
from nova.objects import base as objects_base
from nova.openstack.common import log as logging
from nova.openstack.common import periodic_task
-from nova.openstack.common.plugin import pluginmanager
from nova.openstack.common.rpc import dispatcher as rpc_dispatcher
from nova.scheduler import rpcapi as scheduler_rpcapi
@@ -78,15 +77,10 @@ class Manager(base.Base, periodic_task.PeriodicTasks):
if not host:
host = CONF.host
self.host = host
- self.load_plugins()
self.backdoor_port = None
self.service_name = service_name
super(Manager, self).__init__(db_driver)
- def load_plugins(self):
- pluginmgr = pluginmanager.PluginManager('nova', self.__class__)
- pluginmgr.load_plugins()
-
def create_rpc_dispatcher(self, backdoor_port=None, additional_apis=None):
'''Get the rpc dispatcher for this manager.
@@ -151,10 +145,6 @@ class SchedulerDependentManager(Manager):
super(SchedulerDependentManager, self).__init__(host, db_driver,
service_name)
- def load_plugins(self):
- pluginmgr = pluginmanager.PluginManager('nova', self.service_name)
- pluginmgr.load_plugins()
-
def update_service_capabilities(self, capabilities):
"""Remember these capabilities to send on next periodic update."""
if not isinstance(capabilities, list):
diff --git a/nova/netconf.py b/nova/netconf.py
index 78939d586..53130ceab 100644
--- a/nova/netconf.py
+++ b/nova/netconf.py
@@ -21,6 +21,8 @@ import socket
from oslo.config import cfg
+from nova import utils
+
CONF = cfg.CONF
@@ -40,7 +42,7 @@ def _get_my_ip():
csock.close()
return addr
except socket.error:
- return "127.0.0.1"
+ return utils.get_my_ipv4_address()
netconf_opts = [
diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py
index 15be3d3c4..db008cc93 100644
--- a/nova/network/linux_net.py
+++ b/nova/network/linux_net.py
@@ -1260,6 +1260,18 @@ def delete_ovs_vif_port(bridge, dev):
delete_net_dev(dev)
+def create_ivs_vif_port(dev, iface_id, mac, instance_id):
+ utils.execute('ivs-ctl', 'add-port',
+ dev, run_as_root=True)
+
+
+def delete_ivs_vif_port(dev):
+ utils.execute('ivs-ctl', 'del-port', dev,
+ run_as_root=True)
+ utils.execute('ip', 'link', 'delete', dev,
+ run_as_root=True)
+
+
def create_tap_dev(dev, mac_address=None):
if not device_exists(dev):
try:
diff --git a/nova/network/model.py b/nova/network/model.py
index 240911ea9..ce8aa123b 100644
--- a/nova/network/model.py
+++ b/nova/network/model.py
@@ -30,6 +30,7 @@ def ensure_string_keys(d):
# Constants for the 'vif_type' field in VIF class
VIF_TYPE_OVS = 'ovs'
+VIF_TYPE_IVS = 'ivs'
VIF_TYPE_BRIDGE = 'bridge'
VIF_TYPE_802_QBG = '802.1qbg'
VIF_TYPE_802_QBH = '802.1qbh'
@@ -72,7 +73,7 @@ class IP(Model):
if self['address'] and not self['version']:
try:
self['version'] = netaddr.IPAddress(self['address']).version
- except netaddr.AddrFormatError as e:
+ except netaddr.AddrFormatError:
raise exception.InvalidIpAddressError(self['address'])
def __eq__(self, other):
diff --git a/nova/network/quantumv2/__init__.py b/nova/network/quantumv2/__init__.py
index 89c08311f..6d6e7c7bc 100644
--- a/nova/network/quantumv2/__init__.py
+++ b/nova/network/quantumv2/__init__.py
@@ -16,7 +16,9 @@
# under the License.
from oslo.config import cfg
-from quantumclient.v2_0 import client
+from quantumclient import client
+from quantumclient.common import exceptions
+from quantumclient.v2_0 import client as clientv20
from nova.openstack.common import excutils
from nova.openstack.common import log as logging
@@ -25,24 +27,27 @@ CONF = cfg.CONF
LOG = logging.getLogger(__name__)
-cached_admin_client = None
-
-
-def _fill_admin_details(params):
- params['username'] = CONF.quantum_admin_username
- params['tenant_name'] = CONF.quantum_admin_tenant_name
- params['region_name'] = CONF.quantum_region_name
- params['password'] = CONF.quantum_admin_password
- params['auth_url'] = CONF.quantum_admin_auth_url
- params['timeout'] = CONF.quantum_url_timeout
- params['auth_strategy'] = CONF.quantum_auth_strategy
- params['insecure'] = CONF.quantum_api_insecure
+def _get_auth_token():
+ try:
+ httpclient = client.HTTPClient(
+ username=CONF.quantum_admin_username,
+ tenant_name=CONF.quantum_admin_tenant_name,
+ region_name=CONF.quantum_region_name,
+ password=CONF.quantum_admin_password,
+ auth_url=CONF.quantum_admin_auth_url,
+ timeout=CONF.quantum_url_timeout,
+ auth_strategy=CONF.quantum_auth_strategy,
+ insecure=CONF.quantum_api_insecure)
+ httpclient.authenticate()
+ return httpclient.auth_token
+ except exceptions.QuantumClientException as e:
+ with excutils.save_and_reraise_exception():
+ LOG.error(_('Quantum client authentication failed: %s'), e)
def _get_client(token=None):
- global cached_admin_client
-
- should_cache = False
+ if not token and CONF.quantum_auth_strategy:
+ token = _get_auth_token()
params = {
'endpoint_url': CONF.quantum_url,
'timeout': CONF.quantum_url_timeout,
@@ -51,30 +56,12 @@ def _get_client(token=None):
if token:
params['token'] = token
else:
- if CONF.quantum_auth_strategy:
- should_cache = True
- _fill_admin_details(params)
- else:
- params['auth_strategy'] = None
-
- new_client = client.Client(**params)
- if should_cache:
- # in this case, we don't have the token yet
- try:
- new_client.httpclient.authenticate()
- except Exception:
- with excutils.save_and_reraise_exception():
- LOG.exception(_("quantum authentication failed"))
-
- cached_admin_client = new_client
- return new_client
+ params['auth_strategy'] = None
+ return clientv20.Client(**params)
def get_client(context, admin=False):
if admin:
- if cached_admin_client is not None:
- return cached_admin_client
-
token = None
else:
token = context.auth_token
diff --git a/nova/network/quantumv2/api.py b/nova/network/quantumv2/api.py
index e28d86b0e..814b66ee0 100644
--- a/nova/network/quantumv2/api.py
+++ b/nova/network/quantumv2/api.py
@@ -33,8 +33,6 @@ from nova.openstack.common import excutils
from nova.openstack.common import log as logging
from nova.openstack.common import uuidutils
-import quantumclient.common.exceptions
-
quantum_opts = [
cfg.StrOpt('quantum_url',
default='http://127.0.0.1:9696',
@@ -330,7 +328,7 @@ class API(base.Base):
for port in ports:
try:
quantumv2.get_client(context).delete_port(port['id'])
- except Exception as ex:
+ except Exception:
LOG.exception(_("Failed to delete quantum port %(portid)s ")
% {'portid': port['id']})
@@ -545,7 +543,7 @@ class API(base.Base):
def get_all(self, context):
"""Get all networks for client."""
client = quantumv2.get_client(context)
- networks = client.list_networks().get('networks') or {}
+ networks = client.list_networks().get('networks')
for network in networks:
network['label'] = network['name']
return networks
@@ -728,7 +726,7 @@ class API(base.Base):
port_id=port)
# If a quantum plugin does not implement the L3 API a 404 from
# list_floatingips will be raised.
- except quantumclient.common.exceptions.QuantumClientException as e:
+ except quantumv2.exceptions.QuantumClientException as e:
if e.status_code == 404:
return []
raise
diff --git a/nova/network/rpcapi.py b/nova/network/rpcapi.py
index c335c9cb4..1fa5610ca 100644
--- a/nova/network/rpcapi.py
+++ b/nova/network/rpcapi.py
@@ -37,6 +37,11 @@ rpcapi_opts = [
CONF = cfg.CONF
CONF.register_opts(rpcapi_opts)
+rpcapi_cap_opt = cfg.StrOpt('network',
+ default=None,
+ help='Set a version cap for messages sent to network services')
+CONF.register_opt(rpcapi_cap_opt, 'upgrade_levels')
+
class NetworkAPI(rpc_proxy.RpcProxy):
'''Client side of the network rpc API.
@@ -54,6 +59,10 @@ class NetworkAPI(rpc_proxy.RpcProxy):
1.8 - Adds macs to allocate_for_instance
1.9 - Adds rxtx_factor to [add|remove]_fixed_ip, removes instance_uuid
from allocate_for_instance and instance_get_nw_info
+
+ ... Grizzly supports message version 1.9. So, any changes to existing
+ methods in 2.x after that point should be done such that they can
+ handle the version_cap being set to 1.9.
'''
#
@@ -66,11 +75,18 @@ class NetworkAPI(rpc_proxy.RpcProxy):
#
BASE_RPC_API_VERSION = '1.0'
+ VERSION_ALIASES = {
+ 'grizzly': '1.9',
+ }
+
def __init__(self, topic=None):
topic = topic if topic else CONF.network_topic
+ version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.network,
+ CONF.upgrade_levels.network)
super(NetworkAPI, self).__init__(
topic=topic,
- default_version=self.BASE_RPC_API_VERSION)
+ default_version=self.BASE_RPC_API_VERSION,
+ version_cap=version_cap)
def get_all_networks(self, ctxt):
return self.call(ctxt, self.make_msg('get_all_networks'))
diff --git a/nova/network/security_group/quantum_driver.py b/nova/network/security_group/quantum_driver.py
index 7709da970..6e62d796d 100644
--- a/nova/network/security_group/quantum_driver.py
+++ b/nova/network/security_group/quantum_driver.py
@@ -17,6 +17,8 @@
#
# @author: Aaron Rosen, Nicira Networks, Inc.
+import sys
+
from oslo.config import cfg
from quantumclient.common import exceptions as q_exc
from quantumclient.quantum import v2_0 as quantumv20
@@ -50,6 +52,7 @@ class SecurityGroupAPI(security_group_base.SecurityGroupBase):
security_group = quantum.create_security_group(
body).get('security_group')
except q_exc.QuantumClientException as e:
+ exc_info = sys.exc_info()
LOG.exception(_("Quantum Error creating security group %s"),
name)
if e.status_code == 401:
@@ -57,7 +60,7 @@ class SecurityGroupAPI(security_group_base.SecurityGroupBase):
# as this error code could be related to bad input or over
# quota
raise exc.HTTPBadRequest()
- raise e
+ raise exc_info[0], exc_info[1], exc_info[2]
return self._convert_to_nova_security_group_format(security_group)
def update_security_group(self, context, security_group,
@@ -68,6 +71,7 @@ class SecurityGroupAPI(security_group_base.SecurityGroupBase):
security_group = quantum.update_security_group(
security_group['id'], body).get('security_group')
except q_exc.QuantumClientException as e:
+ exc_info = sys.exc_info()
LOG.exception(_("Quantum Error updating security group %s"),
name)
if e.status_code == 401:
@@ -75,7 +79,7 @@ class SecurityGroupAPI(security_group_base.SecurityGroupBase):
# as this error code could be related to bad input or over
# quota
raise exc.HTTPBadRequest()
- raise e
+ raise exc_info[0], exc_info[1], exc_info[2]
return self._convert_to_nova_security_group_format(security_group)
def _convert_to_nova_security_group_format(self, security_group):
@@ -120,12 +124,13 @@ class SecurityGroupAPI(security_group_base.SecurityGroupBase):
quantum, 'security_group', name)
group = quantum.show_security_group(id).get('security_group')
except q_exc.QuantumClientException as e:
+ exc_info = sys.exc_info()
if e.status_code == 404:
LOG.debug(_("Quantum security group %s not found"), name)
self.raise_not_found(e.message)
else:
LOG.error(_("Quantum Error: %s"), e)
- raise e
+ raise exc_info[0], exc_info[1], exc_info[2]
return self._convert_to_nova_security_group_format(group)
@@ -143,9 +148,9 @@ class SecurityGroupAPI(security_group_base.SecurityGroupBase):
try:
security_groups = quantum.list_security_groups(**search_opts).get(
'security_groups')
- except q_exc.QuantumClientException as e:
- LOG.exception(_("Quantum Error getting security groups"))
- raise e
+ except q_exc.QuantumClientException:
+ with excutils.save_and_reraise_exception():
+ LOG.exception(_("Quantum Error getting security groups"))
converted_rules = []
for security_group in security_groups:
converted_rules.append(
@@ -165,13 +170,14 @@ class SecurityGroupAPI(security_group_base.SecurityGroupBase):
try:
quantum.delete_security_group(security_group['id'])
except q_exc.QuantumClientException as e:
+ exc_info = sys.exc_info()
if e.status_code == 404:
self.raise_not_found(e.message)
elif e.status_code == 409:
self.raise_invalid_property(e.message)
else:
LOG.error(_("Quantum Error: %s"), e)
- raise e
+ raise exc_info[0], exc_info[1], exc_info[2]
def add_rules(self, context, id, name, vals):
"""Add security group rule(s) to security group.
@@ -188,13 +194,14 @@ class SecurityGroupAPI(security_group_base.SecurityGroupBase):
rules = quantum.create_security_group_rule(
body).get('security_group_rules')
except q_exc.QuantumClientException as e:
+ exc_info = sys.exc_info()
if e.status_code == 409:
LOG.exception(_("Quantum Error getting security group %s"),
name)
self.raise_not_found(e.message)
else:
LOG.exception(_("Quantum Error:"))
- raise e
+ raise exc_info[0], exc_info[1], exc_info[2]
converted_rules = []
for rule in rules:
converted_rules.append(
@@ -246,9 +253,8 @@ class SecurityGroupAPI(security_group_base.SecurityGroupBase):
for rule_id in range(0, len(rule_ids)):
quantum.delete_security_group_rule(rule_ids.pop())
except q_exc.QuantumClientException as e:
- LOG.exception(_("Quantum Error unable to delete %s"),
- rule_ids)
- raise e
+ with excutils.save_and_reraise_exception():
+ LOG.exception(_("Quantum Error unable to delete %s"), rule_ids)
def get_rule(self, context, id):
quantum = quantumv2.get_client(context)
@@ -256,12 +262,13 @@ class SecurityGroupAPI(security_group_base.SecurityGroupBase):
rule = quantum.show_security_group_rule(
id).get('security_group_rule')
except q_exc.QuantumClientException as e:
+ exc_info = sys.exc_info()
if e.status_code == 404:
LOG.debug(_("Quantum security group rule %s not found"), id)
self.raise_not_found(e.message)
else:
LOG.error(_("Quantum Error: %s"), e)
- raise e
+ raise exc_info[0], exc_info[1], exc_info[2]
return self._convert_to_nova_security_group_rule_format(rule)
def get_instances_security_groups_bindings(self, context):
@@ -350,19 +357,20 @@ class SecurityGroupAPI(security_group_base.SecurityGroupBase):
security_group_id = quantumv20.find_resourceid_by_name_or_id(
quantum, 'security_group', security_group_name)
except q_exc.QuantumClientException as e:
+ exc_info = sys.exc_info()
if e.status_code == 404:
msg = ("Security group %s is not found for project %s" %
(security_group_name, context.project_id))
self.raise_not_found(msg)
else:
LOG.exception(_("Quantum Error:"))
- raise e
+ raise exc_info[0], exc_info[1], exc_info[2]
params = {'device_id': instance['uuid']}
try:
ports = quantum.list_ports(**params).get('ports')
- except q_exc.QuantumClientException as e:
+ except q_exc.QuantumClientException:
+ with excutils.save_and_reraise_exception():
LOG.exception(_("Quantum Error:"))
- raise e
if not ports:
msg = ("instance_id %s could not be found as device id on"
@@ -398,19 +406,20 @@ class SecurityGroupAPI(security_group_base.SecurityGroupBase):
security_group_id = quantumv20.find_resourceid_by_name_or_id(
quantum, 'security_group', security_group_name)
except q_exc.QuantumClientException as e:
+ exc_info = sys.exc_info()
if e.status_code == 404:
msg = ("Security group %s is not found for project %s" %
(security_group_name, context.project_id))
self.raise_not_found(msg)
else:
LOG.exception(_("Quantum Error:"))
- raise e
+ raise exc_info[0], exc_info[1], exc_info[2]
params = {'device_id': instance['uuid']}
try:
ports = quantum.list_ports(**params).get('ports')
- except q_exc.QuantumClientException as e:
+ except q_exc.QuantumClientException:
+ with excutils.save_and_reraise_exception():
LOG.exception(_("Quantum Error:"))
- raise e
if not ports:
msg = ("instance_id %s could not be found as device id on"
@@ -438,8 +447,8 @@ class SecurityGroupAPI(security_group_base.SecurityGroupBase):
quantum.update_port(port['id'], {'port': updated_port})
found_security_group = True
except Exception:
- LOG.exception(_("Quantum Error:"))
- raise e
+ with excutils.save_and_reraise_exception():
+ LOG.exception(_("Quantum Error:"))
if not found_security_group:
msg = (_("Security group %(security_group_name)s not assocaited "
"with the instance %(instance)s"),
diff --git a/nova/notifications.py b/nova/notifications.py
index 13e2a8fca..a90fa855e 100644
--- a/nova/notifications.py
+++ b/nova/notifications.py
@@ -106,8 +106,12 @@ def send_update(context, old_instance, new_instance, service=None, host=None):
else:
try:
+ old_display_name = None
+ if new_instance["display_name"] != old_instance["display_name"]:
+ old_display_name = old_instance["display_name"]
_send_instance_update_notification(context, new_instance,
- service=service, host=host)
+ service=service, host=host,
+ old_display_name=old_display_name)
except Exception:
LOG.exception(_("Failed to send state update notification"),
instance=new_instance)
@@ -155,7 +159,7 @@ def send_update_with_states(context, instance, old_vm_state, new_vm_state,
def _send_instance_update_notification(context, instance, old_vm_state=None,
old_task_state=None, new_vm_state=None, new_task_state=None,
- service="compute", host=None):
+ service="compute", host=None, old_display_name=None):
"""Send 'compute.instance.update' notification to inform observers
about instance state changes.
"""
@@ -185,6 +189,10 @@ def _send_instance_update_notification(context, instance, old_vm_state=None,
bw = bandwidth_usage(instance, audit_start)
payload["bandwidth"] = bw
+ # add old display name if it is changed
+ if old_display_name:
+ payload["old_display_name"] = old_display_name
+
publisher_id = notifier_api.publisher_id(service, host)
notifier_api.notify(context, publisher_id, 'compute.instance.update',
diff --git a/nova/objects/__init__.py b/nova/objects/__init__.py
index e39f0154c..47f14f68a 100644
--- a/nova/objects/__init__.py
+++ b/nova/objects/__init__.py
@@ -18,3 +18,5 @@ def register_all():
# function in order for it to be registered by services that may
# need to receive it via RPC.
__import__('nova.objects.instance')
+ __import__('nova.objects.instance_info_cache')
+ __import__('nova.objects.security_group')
diff --git a/nova/objects/base.py b/nova/objects/base.py
index 2e0797477..c6dc8cc1a 100644
--- a/nova/objects/base.py
+++ b/nova/objects/base.py
@@ -39,7 +39,7 @@ def make_class_properties(cls):
cls.fields.update(NovaObject.fields)
for name, typefn in cls.fields.iteritems():
- def getter(self, name=name, typefn=typefn):
+ def getter(self, name=name):
attrname = get_attrname(name)
if not hasattr(self, attrname):
self.obj_load_attr(name)
@@ -182,6 +182,7 @@ class NovaObject(object):
'deleted_at': obj_utils.datetime_or_str_or_none,
'deleted': bool,
}
+ obj_extra_fields = []
def __init__(self):
self._changed_fields = set()
@@ -235,7 +236,7 @@ class NovaObject(object):
return value
@classmethod
- def obj_from_primitive(cls, primitive):
+ def obj_from_primitive(cls, primitive, context=None):
"""Simple base-case hydration.
This calls self._attr_from_primitive() for each item in fields.
@@ -251,6 +252,7 @@ class NovaObject(object):
objdata = primitive['nova_object.data']
objclass = cls.obj_class_from_name(objname, objver)
self = objclass()
+ self._context = context
for name in self.fields:
if name in objdata:
setattr(self, name,
@@ -311,7 +313,7 @@ class NovaObject(object):
raise NotImplementedError('Cannot save anything in the base class')
def obj_what_changed(self):
- """Returns a list of fields that have been modified."""
+ """Returns a set of fields that have been modified."""
return self._changed_fields
def obj_reset_changes(self, fields=None):
@@ -330,8 +332,9 @@ class NovaObject(object):
NOTE(danms): May be removed in the future.
"""
- for name in self.fields:
- if hasattr(self, get_attrname(name)):
+ for name in self.fields.keys() + self.obj_extra_fields:
+ if (hasattr(self, get_attrname(name)) or
+ name in self.obj_extra_fields):
yield name, getattr(self, name)
items = lambda self: list(self.iteritems())
@@ -350,6 +353,13 @@ class NovaObject(object):
"""
setattr(self, name, value)
+ def __contains__(self, name):
+ """For backwards-compatibility with dict-based objects.
+
+ NOTE(danms): May be removed in the future.
+ """
+ return hasattr(self, get_attrname(name))
+
def get(self, key, value=None):
"""For backwards-compatibility with dict-based objects.
@@ -357,6 +367,14 @@ class NovaObject(object):
"""
return self[key]
+ def update(self, updates):
+ """For backwards-compatibility with dict-base objects.
+
+ NOTE(danms): May be removed in the future.
+ """
+ for key, value in updates.items():
+ self[key] = value
+
class ObjectListBase(object):
"""Mixin class for lists of objects.
@@ -407,7 +425,11 @@ class ObjectListBase(object):
def _attr_objects_from_primitive(self, value):
"""Deserialization of object list."""
- return [NovaObject.obj_from_primitive(x) for x in value]
+ objects = []
+ for entity in value:
+ obj = NovaObject.obj_from_primitive(entity, context=self._context)
+ objects.append(obj)
+ return objects
class NovaObjectSerializer(nova.openstack.common.rpc.serializer.Serializer):
@@ -418,14 +440,52 @@ class NovaObjectSerializer(nova.openstack.common.rpc.serializer.Serializer):
that needs to accept or return NovaObjects as arguments or result values
should pass this to its RpcProxy and RpcDispatcher objects.
"""
+ def _process_iterable(self, context, action_fn, values):
+ """Process an iterable, taking an action on each value.
+ :param:context: Request context
+ :param:action_fn: Action to take on each item in values
+ :param:values: Iterable container of things to take action on
+ :returns: A new container of the same type (except set) with
+ items from values having had action applied.
+ """
+ iterable = values.__class__
+ if iterable == set:
+ # NOTE(danms): A set can't have an unhashable value inside, such as
+ # a dict. Convert sets to tuples, which is fine, since we can't
+ # send them over RPC anyway.
+ iterable = tuple
+ return iterable([action_fn(context, value) for value in values])
+
def serialize_entity(self, context, entity):
- if (hasattr(entity, 'obj_to_primitive') and
- callable(entity.obj_to_primitive)):
+ if isinstance(entity, (tuple, list, set)):
+ entity = self._process_iterable(context, self.serialize_entity,
+ entity)
+ elif (hasattr(entity, 'obj_to_primitive') and
+ callable(entity.obj_to_primitive)):
entity = entity.obj_to_primitive()
return entity
def deserialize_entity(self, context, entity):
if isinstance(entity, dict) and 'nova_object.name' in entity:
- entity = NovaObject.obj_from_primitive(entity)
- entity._context = context
+ entity = NovaObject.obj_from_primitive(entity, context=context)
+ elif isinstance(entity, (tuple, list, set)):
+ entity = self._process_iterable(context, self.deserialize_entity,
+ entity)
return entity
+
+
+def obj_to_primitive(obj):
+ """Recrusively turn an object into a python primitive.
+
+ A NovaObject becomes a dict, and anything that implements ObjectListBase
+ becomes a list.
+ """
+ if isinstance(obj, ObjectListBase):
+ return [obj_to_primitive(x) for x in obj]
+ elif isinstance(obj, NovaObject):
+ result = {}
+ for key, value in obj.iteritems():
+ result[key] = obj_to_primitive(value)
+ return result
+ else:
+ return obj
diff --git a/nova/objects/instance.py b/nova/objects/instance.py
index aec6fe968..6a18736d1 100644
--- a/nova/objects/instance.py
+++ b/nova/objects/instance.py
@@ -15,7 +15,9 @@
from nova import db
from nova import notifications
from nova.objects import base
+from nova.objects import instance_fault
from nova.objects import instance_info_cache
+from nova.objects import security_group
from nova.objects import utils as obj_utils
from nova import utils
@@ -26,15 +28,20 @@ CONF = cfg.CONF
# These are fields that can be specified as expected_attrs
-INSTANCE_OPTIONAL_FIELDS = ['metadata', 'system_metadata']
+INSTANCE_OPTIONAL_FIELDS = ['metadata', 'system_metadata', 'fault']
# These are fields that are always joined by the db right now
-INSTANCE_IMPLIED_FIELDS = ['info_cache']
+INSTANCE_IMPLIED_FIELDS = ['info_cache', 'security_groups']
+# These are fields that are optional but don't translate to db columns
+INSTANCE_OPTIONAL_NON_COLUMNS = ['fault']
+# These are all fields that most query calls load by default
+INSTANCE_DEFAULT_FIELDS = INSTANCE_OPTIONAL_FIELDS + INSTANCE_IMPLIED_FIELDS
class Instance(base.NovaObject):
# Version 1.0: Initial version
# Version 1.1: Added info_cache
- VERSION = '1.1'
+ # Version 1.2: Added security_groups
+ VERSION = '1.2'
fields = {
'id': int,
@@ -106,10 +113,18 @@ class Instance(base.NovaObject):
'system_metadata': dict,
'info_cache': obj_utils.nested_object_or_none(
- instance_info_cache.InstanceInfoCache)
+ instance_info_cache.InstanceInfoCache),
+
+ 'security_groups': obj_utils.nested_object_or_none(
+ security_group.SecurityGroupList),
+
+ 'fault': obj_utils.nested_object_or_none(
+ instance_fault.InstanceFault),
}
+ obj_extra_fields = ['name']
+
@property
def name(self):
try:
@@ -147,6 +162,8 @@ class Instance(base.NovaObject):
_attr_launched_at_to_primitive = obj_utils.dt_serializer('launched_at')
_attr_terminated_at_to_primitive = obj_utils.dt_serializer('terminated_at')
_attr_info_cache_to_primitive = obj_utils.obj_serializer('info_cache')
+ _attr_security_groups_to_primitive = obj_utils.obj_serializer(
+ 'security_groups')
_attr_scheduled_at_from_primitive = obj_utils.dt_deserializer
_attr_launched_at_from_primitive = obj_utils.dt_deserializer
@@ -155,8 +172,11 @@ class Instance(base.NovaObject):
def _attr_info_cache_from_primitive(self, val):
return base.NovaObject.obj_from_primitive(val)
+ def _attr_security_groups_from_primitive(self, val):
+ return base.NovaObject.obj_from_primitive(val)
+
@staticmethod
- def _from_db_object(instance, db_inst, expected_attrs=None):
+ def _from_db_object(context, instance, db_inst, expected_attrs=None):
"""Method to help with migration to objects.
Converts a database entity to a formal object.
@@ -177,19 +197,29 @@ class Instance(base.NovaObject):
if 'system_metadata' in expected_attrs:
instance['system_metadata'] = utils.metadata_to_dict(
db_inst['system_metadata'])
+ if 'fault' in expected_attrs:
+ instance['fault'] = (
+ instance_fault.InstanceFault.get_latest_for_instance(
+ context, instance.uuid))
# NOTE(danms): info_cache and security_groups are almost always joined
# in the DB layer right now, so check to see if they're filled instead
# of looking at expected_attrs
if db_inst['info_cache']:
instance['info_cache'] = instance_info_cache.InstanceInfoCache()
instance_info_cache.InstanceInfoCache._from_db_object(
- instance['info_cache'], db_inst['info_cache'])
-
+ context, instance['info_cache'], db_inst['info_cache'])
+ if db_inst['security_groups']:
+ instance['security_groups'] = security_group.SecurityGroupList()
+ security_group._make_secgroup_list(context,
+ instance['security_groups'],
+ db_inst['security_groups'])
+
+ instance._context = context
instance.obj_reset_changes()
return instance
@base.remotable_classmethod
- def get_by_uuid(cls, context, uuid=None, expected_attrs=None):
+ def get_by_uuid(cls, context, uuid, expected_attrs=None):
if expected_attrs is None:
expected_attrs = []
@@ -205,7 +235,19 @@ class Instance(base.NovaObject):
db_inst = db.instance_get_by_uuid(context, uuid,
columns_to_join)
- return Instance._from_db_object(cls(), db_inst, expected_attrs)
+ return Instance._from_db_object(context, cls(), db_inst,
+ expected_attrs)
+
+ def _save_info_cache(self, context):
+ self.info_cache.save(context)
+
+ def _save_security_groups(self, context):
+ for secgroup in self.security_groups:
+ secgroup.save(context)
+
+ def _save_instance_fault(self, context):
+ # NOTE(danms): I don't think we need to worry about this, do we?
+ pass
@base.remotable
def save(self, context, expected_task_state=None):
@@ -224,7 +266,7 @@ class Instance(base.NovaObject):
for field in self.fields:
if (hasattr(self, base.get_attrname(field)) and
isinstance(self[field], base.NovaObject)):
- self[field].save(context)
+ getattr(self, '_save_%s' % field)(context)
elif field in changes:
updates[field] = self[field]
if expected_task_state is not None:
@@ -238,7 +280,7 @@ class Instance(base.NovaObject):
for attr in INSTANCE_OPTIONAL_FIELDS:
if hasattr(self, base.get_attrname(attr)):
expected_attrs.append(attr)
- Instance._from_db_object(self, inst_ref, expected_attrs)
+ Instance._from_db_object(context, self, inst_ref, expected_attrs)
if 'vm_state' in changes or 'task_state' in changes:
notifications.send_update(context, old_ref, inst_ref)
@@ -256,6 +298,7 @@ class Instance(base.NovaObject):
if (hasattr(self, base.get_attrname(field)) and
self[field] != current[field]):
self[field] = current[field]
+ self.obj_reset_changes()
def obj_load_attr(self, attrname):
extra = []
@@ -265,6 +308,10 @@ class Instance(base.NovaObject):
extra.append('metadata')
elif attrname == 'info_cache':
extra.append('info_cache')
+ elif attrname == 'security_groups':
+ extra.append('security_groups')
+ elif attrname == 'fault':
+ extra.append('fault')
if not extra:
raise Exception('Cannot load "%s" from instance' % attrname)
@@ -277,32 +324,52 @@ class Instance(base.NovaObject):
def _make_instance_list(context, inst_list, db_inst_list, expected_attrs):
+ get_fault = expected_attrs and 'fault' in expected_attrs
+ inst_faults = {}
+ if get_fault:
+ # Build an instance_uuid:latest-fault mapping
+ expected_attrs.remove('fault')
+ instance_uuids = [inst['uuid'] for inst in db_inst_list]
+ faults = instance_fault.InstanceFaultList.get_by_instance_uuids(
+ context, instance_uuids)
+ for fault in faults:
+ if fault.instance_uuid not in inst_faults:
+ inst_faults[fault.instance_uuid] = fault
+
inst_list.objects = []
for db_inst in db_inst_list:
- inst_obj = Instance._from_db_object(Instance(), db_inst,
+ inst_obj = Instance._from_db_object(context, Instance(), db_inst,
expected_attrs=expected_attrs)
- inst_obj._context = context
+ if get_fault:
+ inst_obj.fault = inst_faults.get(inst_obj.uuid, None)
inst_list.objects.append(inst_obj)
inst_list.obj_reset_changes()
return inst_list
+def expected_cols(expected_attrs):
+ """Return expected_attrs that are columns needing joining."""
+ if expected_attrs:
+ return list(set(expected_attrs) - set(INSTANCE_OPTIONAL_NON_COLUMNS))
+ else:
+ return expected_attrs
+
+
class InstanceList(base.ObjectListBase, base.NovaObject):
@base.remotable_classmethod
def get_by_filters(cls, context, filters,
sort_key=None, sort_dir=None, limit=None, marker=None,
expected_attrs=None):
db_inst_list = db.instance_get_all_by_filters(
- context, filters, sort_key, sort_dir, limit, marker,
- columns_to_join=expected_attrs)
-
+ context, filters, sort_key, sort_dir, limit=limit, marker=marker,
+ columns_to_join=expected_cols(expected_attrs))
return _make_instance_list(context, cls(), db_inst_list,
expected_attrs)
@base.remotable_classmethod
def get_by_host(cls, context, host, expected_attrs=None):
db_inst_list = db.instance_get_all_by_host(
- context, host, columns_to_join=expected_attrs)
+ context, host, columns_to_join=expected_cols(expected_attrs))
return _make_instance_list(context, cls(), db_inst_list,
expected_attrs)
diff --git a/nova/objects/instance_fault.py b/nova/objects/instance_fault.py
new file mode 100644
index 000000000..d6f7a6140
--- /dev/null
+++ b/nova/objects/instance_fault.py
@@ -0,0 +1,61 @@
+# Copyright 2013 IBM Corp.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from nova import db
+from nova.objects import base
+from nova.objects import utils as obj_utils
+
+
+class InstanceFault(base.NovaObject):
+ fields = {
+ 'id': int,
+ 'instance_uuid': str,
+ 'code': int,
+ 'message': obj_utils.str_or_none,
+ 'details': obj_utils.str_or_none,
+ 'host': obj_utils.str_or_none,
+ }
+
+ @staticmethod
+ def _from_db_object(fault, db_fault):
+ # NOTE(danms): These are identical right now
+ for key in fault.fields:
+ fault[key] = db_fault[key]
+ fault.obj_reset_changes()
+ return fault
+
+ @base.remotable_classmethod
+ def get_latest_for_instance(cls, context, instance_uuid):
+ db_faults = db.instance_fault_get_by_instance_uuids(context,
+ [instance_uuid])
+ if instance_uuid in db_faults and db_faults[instance_uuid]:
+ return cls._from_db_object(cls(), db_faults[instance_uuid][0])
+
+
+def _make_fault_list(faultlist, db_faultlist):
+ faultlist.objects = []
+ for instance_uuid in db_faultlist:
+ for db_fault in db_faultlist[instance_uuid]:
+ faultlist.objects.append(InstanceFault._from_db_object(
+ InstanceFault(), db_fault))
+ faultlist.obj_reset_changes()
+ return faultlist
+
+
+class InstanceFaultList(base.ObjectListBase, base.NovaObject):
+ @base.remotable_classmethod
+ def get_by_instance_uuids(cls, context, instance_uuids):
+ db_faults = db.instance_fault_get_by_instance_uuids(context,
+ instance_uuids)
+ return _make_fault_list(cls(), db_faults)
diff --git a/nova/objects/instance_info_cache.py b/nova/objects/instance_info_cache.py
index 6b46559ed..1f2db1223 100644
--- a/nova/objects/instance_info_cache.py
+++ b/nova/objects/instance_info_cache.py
@@ -14,25 +14,27 @@
from nova import db
from nova.objects import base
+from nova.objects import utils
class InstanceInfoCache(base.NovaObject):
fields = {
'instance_uuid': str,
- 'network_info': str,
+ 'network_info': utils.str_or_none,
}
@staticmethod
- def _from_db_object(info_cache, db_obj):
+ def _from_db_object(context, info_cache, db_obj):
info_cache.instance_uuid = db_obj['instance_uuid']
info_cache.network_info = db_obj['network_info']
info_cache.obj_reset_changes()
+ info_cache._context = context
return info_cache
@base.remotable_classmethod
def get_by_instance_uuid(cls, context, instance_uuid):
db_obj = db.instance_info_cache_get(context, instance_uuid)
- return InstanceInfoCache._from_db_object(cls(), db_obj)
+ return InstanceInfoCache._from_db_object(context, cls(), db_obj)
@base.remotable
def save(self, context):
diff --git a/nova/objects/security_group.py b/nova/objects/security_group.py
new file mode 100644
index 000000000..ccf4f027e
--- /dev/null
+++ b/nova/objects/security_group.py
@@ -0,0 +1,95 @@
+# Copyright 2013 IBM Corp.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from nova import db
+from nova.objects import base
+
+
+class SecurityGroup(base.NovaObject):
+ fields = {
+ 'id': int,
+ 'name': str,
+ 'description': str,
+ 'user_id': str,
+ 'project_id': str,
+ }
+
+ @staticmethod
+ def _from_db_object(secgroup, db_secgroup):
+ # NOTE(danms): These are identical right now
+ for field in secgroup.fields:
+ secgroup[field] = db_secgroup[field]
+ secgroup.obj_reset_changes()
+ return secgroup
+
+ @base.remotable_classmethod
+ def get(cls, context, secgroup_id):
+ db_secgroup = db.security_group_get(context, secgroup_id)
+ return cls._from_db_object(cls(), db_secgroup)
+
+ @base.remotable_classmethod
+ def get_by_name(cls, context, project_id, group_name):
+ db_secgroup = db.security_group_get_by_name(context,
+ project_id,
+ group_name)
+ return cls._from_db_object(cls(), db_secgroup)
+
+ @base.remotable
+ def in_use(self, context):
+ return db.security_group_in_use(context, self.id)
+
+ @base.remotable
+ def save(self, context):
+ updates = {}
+ for field in self.obj_what_changed():
+ updates[field] = self[field]
+ if updates:
+ db_secgroup = db.security_group_update(context, self.id, updates)
+ SecurityGroup._from_db_object(self, db_secgroup)
+ self.obj_reset_changes()
+
+ @base.remotable
+ def refresh(self, context):
+ SecurityGroup._from_db_object(self,
+ db.security_group_get(context,
+ self.id))
+
+
+def _make_secgroup_list(context, secgroup_list, db_secgroup_list):
+ secgroup_list.objects = []
+ for db_secgroup in db_secgroup_list:
+ secgroup = SecurityGroup._from_db_object(SecurityGroup(), db_secgroup)
+ secgroup._context = context
+ secgroup_list.objects.append(secgroup)
+ secgroup_list.obj_reset_changes()
+ return secgroup_list
+
+
+class SecurityGroupList(base.ObjectListBase, base.NovaObject):
+ @base.remotable_classmethod
+ def get_all(cls, context):
+ return _make_secgroup_list(context, cls(),
+ db.security_group_get_all(context))
+
+ @base.remotable_classmethod
+ def get_by_project(cls, context, project_id):
+ return _make_secgroup_list(context, cls(),
+ db.security_group_get_by_project(
+ context, project_id))
+
+ @base.remotable_classmethod
+ def get_by_instance(cls, context, instance):
+ return _make_secgroup_list(context, cls(),
+ db.security_group_get_by_instance(
+ context, instance.uuid))
diff --git a/nova/openstack/common/gettextutils.py b/nova/openstack/common/gettextutils.py
index 2d2e94a7c..96f9b49db 100644
--- a/nova/openstack/common/gettextutils.py
+++ b/nova/openstack/common/gettextutils.py
@@ -2,6 +2,7 @@
# Copyright 2012 Red Hat, Inc.
# All Rights Reserved.
+# Copyright 2013 IBM Corp.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
@@ -23,8 +24,11 @@ Usual usage in an openstack.common module:
from nova.openstack.common.gettextutils import _
"""
+import copy
import gettext
+import logging.handlers
import os
+import UserString
_localedir = os.environ.get('nova'.upper() + '_LOCALEDIR')
_t = gettext.translation('nova', localedir=_localedir, fallback=True)
@@ -48,3 +52,175 @@ def install(domain):
gettext.install(domain,
localedir=os.environ.get(domain.upper() + '_LOCALEDIR'),
unicode=True)
+
+
+"""
+Lazy gettext functionality.
+
+The following is an attempt to introduce a deferred way
+to do translations on messages in OpenStack. We attempt to
+override the standard _() function and % (format string) operation
+to build Message objects that can later be translated when we have
+more information. Also included is an example LogHandler that
+translates Messages to an associated locale, effectively allowing
+many logs, each with their own locale.
+"""
+
+
+def get_lazy_gettext(domain):
+ """Assemble and return a lazy gettext function for a given domain.
+
+ Factory method for a project/module to get a lazy gettext function
+ for its own translation domain (i.e. nova, glance, cinder, etc.)
+ """
+
+ def _lazy_gettext(msg):
+ """Create and return a Message object.
+
+ Message encapsulates a string so that we can translate it later when
+ needed.
+ """
+ return Message(msg, domain)
+
+ return _lazy_gettext
+
+
+class Message(UserString.UserString, object):
+ """Class used to encapsulate translatable messages."""
+ def __init__(self, msg, domain):
+ # _msg is the gettext msgid and should never change
+ self._msg = msg
+ self._left_extra_msg = ''
+ self._right_extra_msg = ''
+ self.params = None
+ self.locale = None
+ self.domain = domain
+
+ @property
+ def data(self):
+ # NOTE(mrodden): this should always resolve to a unicode string
+ # that best represents the state of the message currently
+
+ localedir = os.environ.get(self.domain.upper() + '_LOCALEDIR')
+ if self.locale:
+ lang = gettext.translation(self.domain,
+ localedir=localedir,
+ languages=[self.locale],
+ fallback=True)
+ else:
+ # use system locale for translations
+ lang = gettext.translation(self.domain,
+ localedir=localedir,
+ fallback=True)
+
+ full_msg = (self._left_extra_msg +
+ lang.ugettext(self._msg) +
+ self._right_extra_msg)
+
+ if self.params is not None:
+ full_msg = full_msg % self.params
+
+ return unicode(full_msg)
+
+ def _save_parameters(self, other):
+ # we check for None later to see if
+ # we actually have parameters to inject,
+ # so encapsulate if our parameter is actually None
+ if other is None:
+ self.params = (other, )
+ else:
+ self.params = copy.deepcopy(other)
+
+ return self
+
+ # overrides to be more string-like
+ def __unicode__(self):
+ return self.data
+
+ def __str__(self):
+ return self.data.encode('utf-8')
+
+ def __getstate__(self):
+ to_copy = ['_msg', '_right_extra_msg', '_left_extra_msg',
+ 'domain', 'params', 'locale']
+ new_dict = self.__dict__.fromkeys(to_copy)
+ for attr in to_copy:
+ new_dict[attr] = copy.deepcopy(self.__dict__[attr])
+
+ return new_dict
+
+ def __setstate__(self, state):
+ for (k, v) in state.items():
+ setattr(self, k, v)
+
+ # operator overloads
+ def __add__(self, other):
+ copied = copy.deepcopy(self)
+ copied._right_extra_msg += other.__str__()
+ return copied
+
+ def __radd__(self, other):
+ copied = copy.deepcopy(self)
+ copied._left_extra_msg += other.__str__()
+ return copied
+
+ def __mod__(self, other):
+ # do a format string to catch and raise
+ # any possible KeyErrors from missing parameters
+ self.data % other
+ copied = copy.deepcopy(self)
+ return copied._save_parameters(other)
+
+ def __mul__(self, other):
+ return self.data * other
+
+ def __rmul__(self, other):
+ return other * self.data
+
+ def __getitem__(self, key):
+ return self.data[key]
+
+ def __getslice__(self, start, end):
+ return self.data.__getslice__(start, end)
+
+ def __getattribute__(self, name):
+ # NOTE(mrodden): handle lossy operations that we can't deal with yet
+ # These override the UserString implementation, since UserString
+ # uses our __class__ attribute to try and build a new message
+ # after running the inner data string through the operation.
+ # At that point, we have lost the gettext message id and can just
+ # safely resolve to a string instead.
+ ops = ['capitalize', 'center', 'decode', 'encode',
+ 'expandtabs', 'ljust', 'lstrip', 'replace', 'rjust', 'rstrip',
+ 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
+ if name in ops:
+ return getattr(self.data, name)
+ else:
+ return UserString.UserString.__getattribute__(self, name)
+
+
+class LocaleHandler(logging.Handler):
+ """Handler that can have a locale associated to translate Messages.
+
+ A quick example of how to utilize the Message class above.
+ LocaleHandler takes a locale and a target logging.Handler object
+ to forward LogRecord objects to after translating the internal Message.
+ """
+
+ def __init__(self, locale, target):
+ """Initialize a LocaleHandler
+
+ :param locale: locale to use for translating messages
+ :param target: logging.Handler object to forward
+ LogRecord objects to after translation
+ """
+ logging.Handler.__init__(self)
+ self.locale = locale
+ self.target = target
+
+ def emit(self, record):
+ if isinstance(record.msg, Message):
+ # set the locale and resolve to a string
+ record.msg.locale = self.locale
+
+ self.target.emit(record)
diff --git a/nova/openstack/common/jsonutils.py b/nova/openstack/common/jsonutils.py
index 11af66daf..a260efad7 100644
--- a/nova/openstack/common/jsonutils.py
+++ b/nova/openstack/common/jsonutils.py
@@ -41,6 +41,7 @@ import json
import types
import xmlrpclib
+import netaddr
import six
from nova.openstack.common import timeutils
@@ -137,6 +138,8 @@ def to_primitive(value, convert_instances=False, convert_datetime=True,
# Likely an instance of something. Watch for cycles.
# Ignore class member vars.
return recursive(value.__dict__, level=level + 1)
+ elif isinstance(value, netaddr.IPAddress):
+ return six.text_type(value)
else:
if any(test(value) for test in _nasty_type_tests):
return six.text_type(value)
diff --git a/nova/openstack/common/plugin/callbackplugin.py b/nova/openstack/common/plugin/callbackplugin.py
deleted file mode 100644
index c08ee69fb..000000000
--- a/nova/openstack/common/plugin/callbackplugin.py
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 2012 OpenStack Foundation.
-# All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-from nova.openstack.common import log as logging
-from nova.openstack.common.plugin import plugin
-
-
-LOG = logging.getLogger(__name__)
-
-
-class _CallbackNotifier(object):
- """Manages plugin-defined notification callbacks.
-
- For each Plugin, a CallbackNotifier will be added to the
- notification driver list. Calls to notify() with appropriate
- messages will be hooked and prompt callbacks.
-
- A callback should look like this:
- def callback(context, message, user_data)
- """
-
- def __init__(self):
- self._callback_dict = {}
-
- def _add_callback(self, event_type, callback, user_data):
- callback_list = self._callback_dict.get(event_type, [])
- callback_list.append({'function': callback,
- 'user_data': user_data})
- self._callback_dict[event_type] = callback_list
-
- def _remove_callback(self, callback):
- for callback_list in self._callback_dict.values():
- for entry in callback_list:
- if entry['function'] == callback:
- callback_list.remove(entry)
-
- def notify(self, context, message):
- if message.get('event_type') not in self._callback_dict:
- return
-
- for entry in self._callback_dict[message.get('event_type')]:
- entry['function'](context, message, entry.get('user_data'))
-
- def callbacks(self):
- return self._callback_dict
-
-
-class CallbackPlugin(plugin.Plugin):
- """ Plugin with a simple callback interface.
-
- This class is provided as a convenience for producing a simple
- plugin that only watches a couple of events. For example, here's
- a subclass which prints a line the first time an instance is created.
-
- class HookInstanceCreation(CallbackPlugin):
-
- def __init__(self, _service_name):
- super(HookInstanceCreation, self).__init__()
- self._add_callback(self.magic, 'compute.instance.create.start')
-
- def magic(self):
- print "An instance was created!"
- self._remove_callback(self, self.magic)
- """
-
- def __init__(self, service_name):
- super(CallbackPlugin, self).__init__(service_name)
- self._callback_notifier = _CallbackNotifier()
- self._add_notifier(self._callback_notifier)
-
- def _add_callback(self, callback, event_type, user_data=None):
- """Add callback for a given event notification.
-
- Subclasses can call this as an alternative to implementing
- a fullblown notify notifier.
- """
- self._callback_notifier._add_callback(event_type, callback, user_data)
-
- def _remove_callback(self, callback):
- """Remove all notification callbacks to specified function."""
- self._callback_notifier._remove_callback(callback)
diff --git a/nova/openstack/common/plugin/plugin.py b/nova/openstack/common/plugin/plugin.py
deleted file mode 100644
index 4d6d9a464..000000000
--- a/nova/openstack/common/plugin/plugin.py
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 2012 OpenStack Foundation.
-# All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-from nova.openstack.common import log as logging
-
-
-LOG = logging.getLogger(__name__)
-
-
-class Plugin(object):
- """Defines an interface for adding functionality to an OpenStack service.
-
- A plugin interacts with a service via the following pathways:
-
- - An optional set of notifiers, managed by calling add_notifier()
- or by overriding _notifiers()
-
- - A set of api extensions, managed via add_api_extension_descriptor()
-
- - Direct calls to service functions.
-
- - Whatever else the plugin wants to do on its own.
-
- This is the reference implementation.
- """
-
- # The following functions are provided as convenience methods
- # for subclasses. Subclasses should call them but probably not
- # override them.
- def _add_api_extension_descriptor(self, descriptor):
- """Subclass convenience method which adds an extension descriptor.
-
- Subclass constructors should call this method when
- extending a project's REST interface.
-
- Note that once the api service has loaded, the
- API extension set is more-or-less fixed, so
- this should mainly be called by subclass constructors.
- """
- self._api_extension_descriptors.append(descriptor)
-
- def _add_notifier(self, notifier):
- """Subclass convenience method which adds a notifier.
-
- Notifier objects should implement the function notify(message).
- Each notifier receives a notify() call whenever an openstack
- service broadcasts a notification.
-
- Best to call this during construction. Notifiers are enumerated
- and registered by the pluginmanager at plugin load time.
- """
- self._notifiers.append(notifier)
-
- # The following methods are called by OpenStack services to query
- # plugin features. Subclasses should probably not override these.
- def _notifiers(self):
- """Returns list of notifiers for this plugin."""
- return self._notifiers
-
- notifiers = property(_notifiers)
-
- def _api_extension_descriptors(self):
- """Return a list of API extension descriptors.
-
- Called by a project API during its load sequence.
- """
- return self._api_extension_descriptors
-
- api_extension_descriptors = property(_api_extension_descriptors)
-
- # Most plugins will override this:
- def __init__(self, service_name):
- self._notifiers = []
- self._api_extension_descriptors = []
diff --git a/nova/openstack/common/plugin/pluginmanager.py b/nova/openstack/common/plugin/pluginmanager.py
deleted file mode 100644
index e651546fe..000000000
--- a/nova/openstack/common/plugin/pluginmanager.py
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 2012 OpenStack Foundation.
-# All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-import pkg_resources
-
-from oslo.config import cfg
-
-from nova.openstack.common.gettextutils import _
-from nova.openstack.common import log as logging
-from nova.openstack.common.notifier import api as notifier_api
-
-
-CONF = cfg.CONF
-LOG = logging.getLogger(__name__)
-
-
-class PluginManager(object):
- """Manages plugin entrypoints and loading.
-
- For a service to implement this plugin interface for callback purposes:
-
- - Make use of the openstack-common notifier system
- - Instantiate this manager in each process (passing in
- project and service name)
-
- For an API service to extend itself using this plugin interface,
- it needs to query the plugin_extension_factory provided by
- the already-instantiated PluginManager.
- """
-
- def __init__(self, project_name, service_name):
- """ Construct Plugin Manager; load and initialize plugins.
-
- project_name (e.g. 'nova' or 'glance') is used
- to construct the entry point that identifies plugins.
-
- The service_name (e.g. 'compute') is passed on to
- each plugin as a raw string for it to do what it will.
- """
- self._project_name = project_name
- self._service_name = service_name
- self.plugins = []
-
- def load_plugins(self):
- self.plugins = []
-
- for entrypoint in pkg_resources.iter_entry_points('%s.plugin' %
- self._project_name):
- try:
- pluginclass = entrypoint.load()
- plugin = pluginclass(self._service_name)
- self.plugins.append(plugin)
- except Exception as exc:
- LOG.error(_("Failed to load plugin %(plug)s: %(exc)s") %
- {'plug': entrypoint, 'exc': exc})
-
- # Register individual notifiers.
- for plugin in self.plugins:
- for notifier in plugin.notifiers:
- notifier_api.add_driver(notifier)
-
- def plugin_extension_factory(self, ext_mgr):
- for plugin in self.plugins:
- descriptors = plugin.api_extension_descriptors
- for descriptor in descriptors:
- ext_mgr.load_extension(descriptor)
diff --git a/nova/openstack/common/strutils.py b/nova/openstack/common/strutils.py
index cdf70cb20..62e547e60 100644
--- a/nova/openstack/common/strutils.py
+++ b/nova/openstack/common/strutils.py
@@ -19,18 +19,33 @@
System-level utilities and helper functions.
"""
+import re
import sys
+import unicodedata
from nova.openstack.common.gettextutils import _
+# Used for looking up extensions of text
+# to their 'multiplied' byte amount
+BYTE_MULTIPLIERS = {
+ '': 1,
+ 't': 1024 ** 4,
+ 'g': 1024 ** 3,
+ 'm': 1024 ** 2,
+ 'k': 1024,
+}
+BYTE_REGEX = re.compile(r'(^-?\d+)(\D*)')
+
TRUE_STRINGS = ('1', 't', 'true', 'on', 'y', 'yes')
FALSE_STRINGS = ('0', 'f', 'false', 'off', 'n', 'no')
+SLUGIFY_STRIP_RE = re.compile(r"[^\w\s-]")
+SLUGIFY_HYPHENATE_RE = re.compile(r"[-\s]+")
+
def int_from_bool_as_string(subject):
- """
- Interpret a string as a boolean and return either 1 or 0.
+ """Interpret a string as a boolean and return either 1 or 0.
Any string value in:
@@ -44,8 +59,7 @@ def int_from_bool_as_string(subject):
def bool_from_string(subject, strict=False):
- """
- Interpret a string as a boolean.
+ """Interpret a string as a boolean.
A case-insensitive match is performed such that strings matching 't',
'true', 'on', 'y', 'yes', or '1' are considered True and, when
@@ -78,9 +92,7 @@ def bool_from_string(subject, strict=False):
def safe_decode(text, incoming=None, errors='strict'):
- """
- Decodes incoming str using `incoming` if they're
- not already unicode.
+ """Decodes incoming str using `incoming` if they're not already unicode.
:param incoming: Text's current encoding
:param errors: Errors handling policy. See here for valid
@@ -119,11 +131,10 @@ def safe_decode(text, incoming=None, errors='strict'):
def safe_encode(text, incoming=None,
encoding='utf-8', errors='strict'):
- """
- Encodes incoming str/unicode using `encoding`. If
- incoming is not specified, text is expected to
- be encoded with current python's default encoding.
- (`sys.getdefaultencoding`)
+ """Encodes incoming str/unicode using `encoding`.
+
+ If incoming is not specified, text is expected to be encoded with
+ current python's default encoding. (`sys.getdefaultencoding`)
:param incoming: Text's current encoding
:param encoding: Expected encoding for text (Default UTF-8)
@@ -148,3 +159,58 @@ def safe_encode(text, incoming=None,
return text.encode(encoding, errors)
return text
+
+
+def to_bytes(text, default=0):
+ """Converts a string into an integer of bytes.
+
+ Looks at the last characters of the text to determine
+ what conversion is needed to turn the input text into a byte number.
+ Supports "B, K(B), M(B), G(B), and T(B)". (case insensitive)
+
+ :param text: String input for bytes size conversion.
+ :param default: Default return value when text is blank.
+
+ """
+ match = BYTE_REGEX.search(text)
+ if match:
+ magnitude = int(match.group(1))
+ mult_key_org = match.group(2)
+ if not mult_key_org:
+ return magnitude
+ elif text:
+ msg = _('Invalid string format: %s') % text
+ raise TypeError(msg)
+ else:
+ return default
+ mult_key = mult_key_org.lower().replace('b', '', 1)
+ multiplier = BYTE_MULTIPLIERS.get(mult_key)
+ if multiplier is None:
+ msg = _('Unknown byte multiplier: %s') % mult_key_org
+ raise TypeError(msg)
+ return magnitude * multiplier
+
+
+def to_slug(value, incoming=None, errors="strict"):
+ """Normalize string.
+
+ Convert to lowercase, remove non-word characters, and convert spaces
+ to hyphens.
+
+ Inspired by Django's `slugify` filter.
+
+ :param value: Text to slugify
+ :param incoming: Text's current encoding
+ :param errors: Errors handling policy. See here for valid
+ values http://docs.python.org/2/library/codecs.html
+ :returns: slugified unicode representation of `value`
+ :raises TypeError: If text is not an instance of basestring
+ """
+ value = safe_decode(value, incoming, errors)
+ # NOTE(aababilov): no need to use safe_(encode|decode) here:
+ # encodings are always "ascii", error handling is always "ignore"
+ # and types are always known (first: unicode; second: str)
+ value = unicodedata.normalize("NFKD", value).encode(
+ "ascii", "ignore").decode("ascii")
+ value = SLUGIFY_STRIP_RE.sub("", value).strip().lower()
+ return SLUGIFY_HYPHENATE_RE.sub("-", value)
diff --git a/nova/quota.py b/nova/quota.py
index a1c877ecc..d0241de1c 100644
--- a/nova/quota.py
+++ b/nova/quota.py
@@ -993,6 +993,7 @@ class QuotaEngine(object):
# logged, however, because this is less than optimal.
LOG.exception(_("Failed to commit reservations "
"%(reservations)s") % locals())
+ return
LOG.debug(_("Committed reservations %(reservations)s") % locals())
def rollback(self, context, reservations, project_id=None):
@@ -1015,6 +1016,7 @@ class QuotaEngine(object):
# logged, however, because this is less than optimal.
LOG.exception(_("Failed to roll back reservations "
"%(reservations)s") % locals())
+ return
LOG.debug(_("Rolled back reservations %(reservations)s") % locals())
def usage_reset(self, context, resources):
diff --git a/nova/scheduler/chance.py b/nova/scheduler/chance.py
index 0f8f3c45a..41a69d21e 100644
--- a/nova/scheduler/chance.py
+++ b/nova/scheduler/chance.py
@@ -25,6 +25,7 @@ import random
from oslo.config import cfg
+from nova.compute import rpcapi as compute_rpcapi
from nova import exception
from nova.scheduler import driver
@@ -35,6 +36,10 @@ CONF.import_opt('compute_topic', 'nova.compute.rpcapi')
class ChanceScheduler(driver.Scheduler):
"""Implements Scheduler as a random node selector."""
+ def __init__(self, *args, **kwargs):
+ super(ChanceScheduler, self).__init__(*args, **kwargs)
+ self.compute_rpcapi = compute_rpcapi.ComputeAPI()
+
def _filter_hosts(self, request_spec, hosts, filter_properties):
"""Filter a list of hosts based on request_spec."""
@@ -67,6 +72,17 @@ class ChanceScheduler(driver.Scheduler):
raise exception.NoValidHost(reason="")
return hosts
+ def select_destinations(self, context, request_spec, filter_properties):
+ """Selects random destinations."""
+ num_instances = request_spec['num_instances']
+ # NOTE(alaski): Returns a list of tuples for compatibility with
+ # filter_scheduler
+ dests = [(self._schedule(context, CONF.compute_topic, request_spec,
+ filter_properties), None) for i in range(num_instances)]
+ if len(dests) < num_instances:
+ raise exception.NoValidHost(reason='')
+ return dests
+
def schedule_run_instance(self, context, request_spec,
admin_password, injected_files,
requested_networks, is_first_time,
diff --git a/nova/scheduler/driver.py b/nova/scheduler/driver.py
index 5fed1e397..765aede10 100644
--- a/nova/scheduler/driver.py
+++ b/nova/scheduler/driver.py
@@ -25,15 +25,11 @@ import sys
from oslo.config import cfg
-from nova.compute import flavors
-from nova.compute import power_state
-from nova.compute import rpcapi as compute_rpcapi
from nova.compute import utils as compute_utils
from nova.compute import vm_states
from nova.conductor import api as conductor_api
from nova import db
from nova import exception
-from nova.image import glance
from nova import notifications
from nova.openstack.common import importutils
from nova.openstack.common import log as logging
@@ -60,8 +56,8 @@ def handle_schedule_error(context, ex, instance_uuid, request_spec):
if not isinstance(ex, exception.NoValidHost):
LOG.exception(_("Exception during scheduler.run_instance"))
state = vm_states.ERROR.upper()
- LOG.warning(_('Setting instance to %(state)s state.'),
- locals(), instance_uuid=instance_uuid)
+ LOG.warning(_('Setting instance to %s state.'), state,
+ instance_uuid=instance_uuid)
# update instance state and notify on the transition
(old_ref, new_ref) = db.instance_update_and_get_original(context,
@@ -122,9 +118,7 @@ class Scheduler(object):
def __init__(self):
self.host_manager = importutils.import_object(
CONF.scheduler_host_manager)
- self.compute_rpcapi = compute_rpcapi.ComputeAPI()
self.servicegroup_api = servicegroup.API()
- self.image_service = glance.get_default_image_service()
def update_service_capabilities(self, service_name, host, capabilities):
"""Process a capability update from a service node."""
@@ -164,191 +158,16 @@ class Scheduler(object):
msg = _("Driver must implement schedule_run_instance")
raise NotImplementedError(msg)
+ def select_destinations(self, context, request_spec, filter_properties):
+ """Must override select_destinations method.
+
+ :return: A list of (host, node) tuples that satisifies the request_spec
+ and filter_properties.
+ """
+ msg = _("Driver must implement select_destinations")
+ raise NotImplementedError(msg)
+
def select_hosts(self, context, request_spec, filter_properties):
"""Must override select_hosts method for scheduler to work."""
msg = _("Driver must implement select_hosts")
raise NotImplementedError(msg)
-
- def schedule_live_migration(self, context, instance, dest,
- block_migration, disk_over_commit):
- """Live migration scheduling method.
-
- :param context:
- :param instance: instance dict
- :param dest: destination host
- :param block_migration: if true, block_migration.
- :param disk_over_commit: if True, consider real(not virtual)
- disk size.
-
- :return:
- The host where instance is running currently.
- Then scheduler send request that host.
- """
- # Check we can do live migration
- self._live_migration_src_check(context, instance)
-
- if dest is None:
- # Let scheduler select a dest host, retry next best until success
- # or no more valid hosts.
- ignore_hosts = [instance['host']]
- while dest is None:
- dest = self._live_migration_dest_check(context, instance, dest,
- ignore_hosts)
- try:
- self._live_migration_common_check(context, instance, dest)
- migrate_data = self.compute_rpcapi.\
- check_can_live_migrate_destination(context, instance,
- dest,
- block_migration,
- disk_over_commit)
- except exception.Invalid:
- ignore_hosts.append(dest)
- dest = None
- continue
- else:
- # Test the given dest host
- self._live_migration_dest_check(context, instance, dest)
- self._live_migration_common_check(context, instance, dest)
- migrate_data = self.compute_rpcapi.\
- check_can_live_migrate_destination(context, instance, dest,
- block_migration,
- disk_over_commit)
-
- # Perform migration
- src = instance['host']
- self.compute_rpcapi.live_migration(context, host=src,
- instance=instance, dest=dest,
- block_migration=block_migration,
- migrate_data=migrate_data)
-
- def _live_migration_src_check(self, context, instance_ref):
- """Live migration check routine (for src host).
-
- :param context: security context
- :param instance_ref: nova.db.sqlalchemy.models.Instance object
-
- """
- # TODO(johngar) why is this not in the API layer?
- # Checking instance is running.
- if instance_ref['power_state'] != power_state.RUNNING:
- raise exception.InstanceNotRunning(
- instance_id=instance_ref['uuid'])
-
- # Checking src host exists and compute node
- src = instance_ref['host']
- try:
- service = db.service_get_by_compute_host(context, src)
- except exception.NotFound:
- raise exception.ComputeServiceUnavailable(host=src)
-
- # Checking src host is alive.
- if not self.servicegroup_api.service_is_up(service):
- raise exception.ComputeServiceUnavailable(host=src)
-
- def _live_migration_dest_check(self, context, instance_ref, dest,
- ignore_hosts=None):
- """Live migration check routine (for destination host).
-
- :param context: security context
- :param instance_ref: nova.db.sqlalchemy.models.Instance object
- :param dest: destination host
- :param ignore_hosts: hosts that should be avoided as dest host
- """
-
- # If dest is not specified, have scheduler pick one.
- if dest is None:
- instance_type = flavors.extract_flavor(instance_ref)
- if not instance_ref['image_ref']:
- image = None
- else:
- image = self.image_service.show(context,
- instance_ref['image_ref'])
- request_spec = {'instance_properties': instance_ref,
- 'instance_type': instance_type,
- 'instance_uuids': [instance_ref['uuid']],
- 'image': image}
- filter_properties = {'ignore_hosts': ignore_hosts}
- return self.select_hosts(context, request_spec,
- filter_properties)[0]
-
- # Checking whether The host where instance is running
- # and dest is not same.
- src = instance_ref['host']
- if dest == src:
- raise exception.UnableToMigrateToSelf(
- instance_id=instance_ref['uuid'], host=dest)
-
- # Checking dest exists and compute node.
- try:
- dservice_ref = db.service_get_by_compute_host(context, dest)
- except exception.NotFound:
- raise exception.ComputeServiceUnavailable(host=dest)
-
- # Checking dest host is alive.
- if not self.servicegroup_api.service_is_up(dservice_ref):
- raise exception.ComputeServiceUnavailable(host=dest)
-
- # Check memory requirements
- self._assert_compute_node_has_enough_memory(context,
- instance_ref, dest)
-
- return dest
-
- def _live_migration_common_check(self, context, instance_ref, dest):
- """Live migration common check routine.
-
- The following checks are based on
- http://wiki.libvirt.org/page/TodoPreMigrationChecks
-
- :param context: security context
- :param instance_ref: nova.db.sqlalchemy.models.Instance object
- :param dest: destination host
- """
- dservice_ref = self._get_compute_info(context, dest)
- src = instance_ref['host']
- oservice_ref = self._get_compute_info(context, src)
-
- # Checking hypervisor is same.
- orig_hypervisor = oservice_ref['hypervisor_type']
- dest_hypervisor = dservice_ref['hypervisor_type']
- if orig_hypervisor != dest_hypervisor:
- raise exception.InvalidHypervisorType()
-
- # Checking hypervisor version.
- orig_hypervisor = oservice_ref['hypervisor_version']
- dest_hypervisor = dservice_ref['hypervisor_version']
- if orig_hypervisor > dest_hypervisor:
- raise exception.DestinationHypervisorTooOld()
-
- def _assert_compute_node_has_enough_memory(self, context,
- instance_ref, dest):
- """Checks if destination host has enough memory for live migration.
-
-
- :param context: security context
- :param instance_ref: nova.db.sqlalchemy.models.Instance object
- :param dest: destination host
-
- """
- # Getting total available memory of host
- avail = self._get_compute_info(context, dest)['free_ram_mb']
-
- mem_inst = instance_ref['memory_mb']
- if not mem_inst or avail <= mem_inst:
- instance_uuid = instance_ref['uuid']
- reason = _("Unable to migrate %(instance_uuid)s to %(dest)s: "
- "Lack of memory(host:%(avail)s <= "
- "instance:%(mem_inst)s)")
- raise exception.MigrationPreCheckError(reason=reason % locals())
-
- def _get_compute_info(self, context, host):
- """get compute node's information specified by key
-
- :param context: security context
- :param host: hostname(must be compute node)
- :param key: column name of compute_nodes
- :return: value specified by key
-
- """
- service_ref = db.service_get_by_compute_host(context, host)
- return service_ref['compute_node'][0]
diff --git a/nova/scheduler/filter_scheduler.py b/nova/scheduler/filter_scheduler.py
index 08cb6a20e..103aec940 100644
--- a/nova/scheduler/filter_scheduler.py
+++ b/nova/scheduler/filter_scheduler.py
@@ -24,6 +24,8 @@ import random
from oslo.config import cfg
from nova.compute import flavors
+from nova.compute import rpcapi as compute_rpcapi
+from nova import db
from nova import exception
from nova.openstack.common import log as logging
from nova.openstack.common.notifier import api as notifier
@@ -54,6 +56,7 @@ class FilterScheduler(driver.Scheduler):
def __init__(self, *args, **kwargs):
super(FilterScheduler, self).__init__(*args, **kwargs)
self.options = scheduler_options.SchedulerOptions()
+ self.compute_rpcapi = compute_rpcapi.ComputeAPI()
def schedule_run_instance(self, context, request_spec,
admin_password, injected_files,
@@ -158,6 +161,22 @@ class FilterScheduler(driver.Scheduler):
raise exception.NoValidHost(reason="")
return hosts
+ def select_destinations(self, context, request_spec, filter_properties):
+ """Selects a filtered set of hosts and nodes."""
+ num_instances = request_spec['num_instances']
+ instance_uuids = request_spec.get('instance_uuids')
+ selected_hosts = self._schedule(context, request_spec,
+ filter_properties, instance_uuids)
+
+ # Couldn't fulfill the request_spec
+ if len(selected_hosts) < num_instances:
+ raise exception.NoValidHost(reason='')
+
+ dests = []
+ for host in selected_hosts:
+ dests.append((host.obj.host, host.obj.nodename))
+ return dests
+
def _provision_resource(self, context, weighed_host, request_spec,
filter_properties, requested_networks, injected_files,
admin_password, is_first_time, instance_uuid=None):
@@ -377,6 +396,17 @@ class FilterScheduler(driver.Scheduler):
filter_properties['group_hosts'].append(chosen_host.obj.host)
return selected_hosts
+ def _get_compute_info(self, context, dest):
+ """Get compute node's information
+
+ :param context: security context
+ :param dest: hostname (must be compute node)
+ :return: dict of compute node information
+
+ """
+ service_ref = db.service_get_by_compute_host(context, dest)
+ return service_ref['compute_node'][0]
+
def _assert_compute_node_has_enough_memory(self, context,
instance_ref, dest):
"""Checks if destination host has enough memory for live migration.
diff --git a/nova/scheduler/filters/aggregate_multitenancy_isolation.py b/nova/scheduler/filters/aggregate_multitenancy_isolation.py
index d9192af52..1a9f6bf58 100644
--- a/nova/scheduler/filters/aggregate_multitenancy_isolation.py
+++ b/nova/scheduler/filters/aggregate_multitenancy_isolation.py
@@ -41,7 +41,6 @@ class AggregateMultiTenancyIsolation(filters.BaseHostFilter):
if metadata != {}:
if tenant_id not in metadata["filter_tenant_id"]:
- LOG.debug(_("%(host_state)s fails tenant id on "
- "aggregate"), locals())
+ LOG.debug(_("%s fails tenant id on aggregate"), host_state)
return False
return True
diff --git a/nova/scheduler/filters/compute_capabilities_filter.py b/nova/scheduler/filters/compute_capabilities_filter.py
index 7fb5725b6..36629435c 100644
--- a/nova/scheduler/filters/compute_capabilities_filter.py
+++ b/nova/scheduler/filters/compute_capabilities_filter.py
@@ -46,7 +46,7 @@ class ComputeCapabilitiesFilter(filters.BaseHostFilter):
return False
if cap is None:
return False
- if not extra_specs_ops.match(cap, req):
+ if not extra_specs_ops.match(str(cap), req):
return False
return True
diff --git a/nova/scheduler/filters/core_filter.py b/nova/scheduler/filters/core_filter.py
index 4eb6ebcf1..6e733a237 100644
--- a/nova/scheduler/filters/core_filter.py
+++ b/nova/scheduler/filters/core_filter.py
@@ -17,6 +17,7 @@
from oslo.config import cfg
+from nova import db
from nova.openstack.common import log as logging
from nova.scheduler import filters
@@ -24,14 +25,19 @@ LOG = logging.getLogger(__name__)
cpu_allocation_ratio_opt = cfg.FloatOpt('cpu_allocation_ratio',
default=16.0,
- help='Virtual CPU to Physical CPU allocation ratio')
+ help='Virtual CPU to physical CPU allocation ratio which affects '
+ 'all CPU filters. This configuration specifies a global ratio '
+ 'for CoreFilter. For AggregateCoreFilter, it will fall back to '
+ 'this configuration value if no per-aggregate setting found.')
CONF = cfg.CONF
CONF.register_opt(cpu_allocation_ratio_opt)
-class CoreFilter(filters.BaseHostFilter):
- """CoreFilter filters based on CPU core utilization."""
+class BaseCoreFilter(filters.BaseHostFilter):
+
+ def _get_cpu_allocation_ratio(self, host_state, filter_properties):
+ raise NotImplementedError
def host_passes(self, host_state, filter_properties):
"""Return True if host has sufficient CPU cores."""
@@ -45,7 +51,9 @@ class CoreFilter(filters.BaseHostFilter):
return True
instance_vcpus = instance_type['vcpus']
- vcpus_total = host_state.vcpus_total * CONF.cpu_allocation_ratio
+ cpu_allocation_ratio = self._get_cpu_allocation_ratio(host_state,
+ filter_properties)
+ vcpus_total = host_state.vcpus_total * cpu_allocation_ratio
# Only provide a VCPU limit to compute if the virt driver is reporting
# an accurate count of installed VCPUs. (XenServer driver does not)
@@ -53,3 +61,44 @@ class CoreFilter(filters.BaseHostFilter):
host_state.limits['vcpu'] = vcpus_total
return (vcpus_total - host_state.vcpus_used) >= instance_vcpus
+
+
+class CoreFilter(BaseCoreFilter):
+ """CoreFilter filters based on CPU core utilization."""
+
+ def _get_cpu_allocation_ratio(self, host_state, filter_properties):
+ return CONF.cpu_allocation_ratio
+
+
+class AggregateCoreFilter(BaseCoreFilter):
+ """AggregateRamFilter with per-aggregate CPU subscription flag.
+
+ Fall back to global cpu_allocation_ratio if no per-aggregate setting found.
+ """
+
+ def _get_cpu_allocation_ratio(self, host_state, filter_properties):
+ context = filter_properties['context'].elevated()
+ # TODO(uni): DB query in filter is a performance hit, especially for
+ # system with lots of hosts. Will need a general solution here to fix
+ # all filters with aggregate DB call things.
+ metadata = db.aggregate_metadata_get_by_host(
+ context, host_state.host, key='cpu_allocation_ratio')
+ aggregate_vals = metadata.get('cpu_allocation_ratio', set())
+ num_values = len(aggregate_vals)
+
+ if num_values == 0:
+ return CONF.cpu_allocation_ratio
+
+ if num_values > 1:
+ LOG.warning(_("%(num_values)d ratio values found, "
+ "of which the minimum value will be used."),
+ {'num_values': num_values})
+
+ try:
+ ratio = float(min(aggregate_vals))
+ except ValueError as e:
+ LOG.warning(_("Could not decode cpu_allocation_ratio: "
+ "'%(e)s'") % locals())
+ ratio = CONF.cpu_allocation_ratio
+
+ return ratio
diff --git a/nova/scheduler/filters/ram_filter.py b/nova/scheduler/filters/ram_filter.py
index 7e20e3d15..ed601ec32 100644
--- a/nova/scheduler/filters/ram_filter.py
+++ b/nova/scheduler/filters/ram_filter.py
@@ -16,21 +16,27 @@
from oslo.config import cfg
+from nova import db
from nova.openstack.common import log as logging
from nova.scheduler import filters
LOG = logging.getLogger(__name__)
-ram_allocation_ratio_opt = cfg.FloatOpt("ram_allocation_ratio",
+ram_allocation_ratio_opt = cfg.FloatOpt('ram_allocation_ratio',
default=1.5,
- help="virtual ram to physical ram allocation ratio")
+ help='Virtual ram to physical ram allocation ratio which affects '
+ 'all ram filters. This configuration specifies a global ratio '
+ 'for RamFilter. For AggregateRamFilter, it will fall back to '
+ 'this configuration value if no per-aggregate setting found.')
CONF = cfg.CONF
CONF.register_opt(ram_allocation_ratio_opt)
-class RamFilter(filters.BaseHostFilter):
- """Ram Filter with over subscription flag."""
+class BaseRamFilter(filters.BaseHostFilter):
+
+ def _get_ram_allocation_ratio(self, host_state, filter_properties):
+ raise NotImplementedError
def host_passes(self, host_state, filter_properties):
"""Only return hosts with sufficient available RAM."""
@@ -39,7 +45,10 @@ class RamFilter(filters.BaseHostFilter):
free_ram_mb = host_state.free_ram_mb
total_usable_ram_mb = host_state.total_usable_ram_mb
- memory_mb_limit = total_usable_ram_mb * CONF.ram_allocation_ratio
+ ram_allocation_ratio = self._get_ram_allocation_ratio(host_state,
+ filter_properties)
+
+ memory_mb_limit = total_usable_ram_mb * ram_allocation_ratio
used_ram_mb = total_usable_ram_mb - free_ram_mb
usable_ram = memory_mb_limit - used_ram_mb
if not usable_ram >= requested_ram:
@@ -53,3 +62,44 @@ class RamFilter(filters.BaseHostFilter):
# save oversubscription limit for compute node to test against:
host_state.limits['memory_mb'] = memory_mb_limit
return True
+
+
+class RamFilter(BaseRamFilter):
+ """Ram Filter with over subscription flag."""
+
+ def _get_ram_allocation_ratio(self, host_state, filter_properties):
+ return CONF.ram_allocation_ratio
+
+
+class AggregateRamFilter(BaseRamFilter):
+ """AggregateRamFilter with per-aggregate ram subscription flag.
+
+ Fall back to global ram_allocation_ratio if no per-aggregate setting found.
+ """
+
+ def _get_ram_allocation_ratio(self, host_state, filter_properties):
+ context = filter_properties['context'].elevated()
+ # TODO(uni): DB query in filter is a performance hit, especially for
+ # system with lots of hosts. Will need a general solution here to fix
+ # all filters with aggregate DB call things.
+ metadata = db.aggregate_metadata_get_by_host(
+ context, host_state.host, key='ram_allocation_ratio')
+ aggregate_vals = metadata.get('ram_allocation_ratio', set())
+ num_values = len(aggregate_vals)
+
+ if num_values == 0:
+ return CONF.ram_allocation_ratio
+
+ if num_values > 1:
+ LOG.warning(_("%(num_values)d ratio values found, "
+ "of which the minimum value will be used."),
+ {'num_values': num_values})
+
+ try:
+ ratio = float(min(aggregate_vals))
+ except ValueError as e:
+ LOG.warning(_("Could not decode ram_allocation_ratio: "
+ "'%(e)s'") % locals())
+ ratio = CONF.ram_allocation_ratio
+
+ return ratio
diff --git a/nova/scheduler/filters/trusted_filter.py b/nova/scheduler/filters/trusted_filter.py
index bb1962ebe..522a68096 100644
--- a/nova/scheduler/filters/trusted_filter.py
+++ b/nova/scheduler/filters/trusted_filter.py
@@ -153,7 +153,7 @@ class AttestationService(object):
return httplib.OK, res
return status_code, None
- except (socket.error, IOError) as e:
+ except (socket.error, IOError):
return IOError, None
def _request(self, cmd, subcmd, hosts):
diff --git a/nova/scheduler/host_manager.py b/nova/scheduler/host_manager.py
index b5fbb8594..d5081ace5 100644
--- a/nova/scheduler/host_manager.py
+++ b/nova/scheduler/host_manager.py
@@ -377,12 +377,14 @@ class HostManager(object):
if service_name != 'compute':
LOG.debug(_('Ignoring %(service_name)s service update '
- 'from %(host)s'), locals())
+ 'from %(host)s'), {'service_name': service_name,
+ 'host': host})
return
state_key = (host, capabilities.get('hypervisor_hostname'))
LOG.debug(_("Received %(service_name)s service update from "
- "%(state_key)s.") % locals())
+ "%(state_key)s."), {'service_name': service_name,
+ 'state_key': state_key})
# Copy the capabilities, so we don't modify the original dict
capab_copy = dict(capabilities)
capab_copy["timestamp"] = timeutils.utcnow() # Reported time
@@ -423,7 +425,7 @@ class HostManager(object):
for state_key in dead_nodes:
host, node = state_key
LOG.info(_("Removing dead compute node %(host)s:%(node)s "
- "from scheduler") % locals())
+ "from scheduler") % {'host': host, 'node': node})
del self.host_state_map[state_key]
return self.host_state_map.itervalues()
diff --git a/nova/scheduler/manager.py b/nova/scheduler/manager.py
index 9429a0662..9d54a153e 100644
--- a/nova/scheduler/manager.py
+++ b/nova/scheduler/manager.py
@@ -21,8 +21,6 @@
Scheduler Service
"""
-import sys
-
from oslo.config import cfg
from nova.compute import rpcapi as compute_rpcapi
@@ -30,18 +28,18 @@ from nova.compute import task_states
from nova.compute import utils as compute_utils
from nova.compute import vm_states
from nova.conductor import api as conductor_api
+from nova.conductor.tasks import live_migrate
import nova.context
from nova import exception
from nova import manager
-from nova import notifications
from nova.openstack.common import excutils
from nova.openstack.common import importutils
from nova.openstack.common import jsonutils
from nova.openstack.common import log as logging
-from nova.openstack.common.notifier import api as notifier
from nova.openstack.common import periodic_task
from nova.openstack.common.rpc import common as rpc_common
from nova import quota
+from nova.scheduler import utils as scheduler_utils
LOG = logging.getLogger(__name__)
@@ -59,7 +57,7 @@ QUOTAS = quota.QUOTAS
class SchedulerManager(manager.Manager):
"""Chooses a host to run instances on."""
- RPC_API_VERSION = '2.6'
+ RPC_API_VERSION = '2.7'
def __init__(self, scheduler_driver=None, *args, **kwargs):
if not scheduler_driver:
@@ -102,9 +100,8 @@ class SchedulerManager(manager.Manager):
def live_migration(self, context, instance, dest,
block_migration, disk_over_commit):
try:
- return self.driver.schedule_live_migration(
- context, instance, dest,
- block_migration, disk_over_commit)
+ self._schedule_live_migration(context, instance, dest,
+ block_migration, disk_over_commit)
except (exception.NoValidHost,
exception.ComputeServiceUnavailable,
exception.InvalidHypervisorType,
@@ -131,6 +128,13 @@ class SchedulerManager(manager.Manager):
{'vm_state': vm_states.ERROR},
context, ex, request_spec)
+ def _schedule_live_migration(self, context, instance, dest,
+ block_migration, disk_over_commit):
+ task = live_migrate.LiveMigrationTask(context, instance,
+ dest, block_migration, disk_over_commit,
+ self.driver.select_hosts)
+ return task.execute()
+
def run_instance(self, context, request_spec, admin_password,
injected_files, requested_networks, is_first_time,
filter_properties):
@@ -196,53 +200,8 @@ class SchedulerManager(manager.Manager):
def _set_vm_state_and_notify(self, method, updates, context, ex,
request_spec):
- """changes VM state and notifies."""
- # FIXME(comstud): Re-factor this somehow. Not sure this belongs in the
- # scheduler manager like this. We should make this easier.
- # run_instance only sends a request_spec, and an instance may or may
- # not have been created in the API (or scheduler) already. If it was
- # created, there's a 'uuid' set in the instance_properties of the
- # request_spec.
- # (littleidea): I refactored this a bit, and I agree
- # it should be easier :)
- # The refactoring could go further but trying to minimize changes
- # for essex timeframe
-
- LOG.warning(_("Failed to schedule_%(method)s: %(ex)s") % locals())
-
- vm_state = updates['vm_state']
- properties = request_spec.get('instance_properties', {})
- # NOTE(vish): We shouldn't get here unless we have a catastrophic
- # failure, so just set all instances to error. if uuid
- # is not set, instance_uuids will be set to [None], this
- # is solely to preserve existing behavior and can
- # be removed along with the 'if instance_uuid:' if we can
- # verify that uuid is always set.
- uuids = [properties.get('uuid')]
- for instance_uuid in request_spec.get('instance_uuids') or uuids:
- if instance_uuid:
- state = vm_state.upper()
- LOG.warning(_('Setting instance to %(state)s state.'),
- locals(), instance_uuid=instance_uuid)
-
- # update instance state and notify on the transition
- (old_ref, new_ref) = self.db.instance_update_and_get_original(
- context, instance_uuid, updates)
- notifications.send_update(context, old_ref, new_ref,
- service="scheduler")
- compute_utils.add_instance_fault_from_exc(context,
- conductor_api.LocalAPI(),
- new_ref, ex, sys.exc_info())
-
- payload = dict(request_spec=request_spec,
- instance_properties=properties,
- instance_id=instance_uuid,
- state=vm_state,
- method=method,
- reason=ex)
-
- notifier.notify(context, notifier.publisher_id("scheduler"),
- 'scheduler.' + method, notifier.ERROR, payload)
+ scheduler_utils.set_vm_state_and_notify(
+ context, 'scheduler', method, updates, ex, request_spec, self.db)
# NOTE(hanlind): This method can be removed in v3.0 of the RPC API.
def show_host_resources(self, context, host):
@@ -308,6 +267,7 @@ class SchedulerManager(manager.Manager):
def get_backdoor_port(self, context):
return self.backdoor_port
+ @rpc_common.client_exceptions(exception.NoValidHost)
def select_hosts(self, context, request_spec, filter_properties):
"""Returns host(s) best suited for this request_spec
and filter_properties.
@@ -315,3 +275,14 @@ class SchedulerManager(manager.Manager):
hosts = self.driver.select_hosts(context, request_spec,
filter_properties)
return jsonutils.to_primitive(hosts)
+
+ @rpc_common.client_exceptions(exception.NoValidHost)
+ def select_destinations(self, context, request_spec, filter_properties):
+ """Returns destinations(s) best suited for this request_spec and
+ filter_properties.
+
+ The result should be a list of (host, nodename) tuples.
+ """
+ dests = self.driver.select_destinations(context, request_spec,
+ filter_properties)
+ return jsonutils.to_primitive(dests)
diff --git a/nova/scheduler/rpcapi.py b/nova/scheduler/rpcapi.py
index 2cfd5688f..9cd7a28b6 100644
--- a/nova/scheduler/rpcapi.py
+++ b/nova/scheduler/rpcapi.py
@@ -32,6 +32,11 @@ rpcapi_opts = [
CONF = cfg.CONF
CONF.register_opts(rpcapi_opts)
+rpcapi_cap_opt = cfg.StrOpt('scheduler',
+ default=None,
+ help='Set a version cap for messages sent to scheduler services')
+CONF.register_opt(rpcapi_cap_opt, 'upgrade_levels')
+
class SchedulerAPI(nova.openstack.common.rpc.proxy.RpcProxy):
'''Client side of the scheduler rpc API.
@@ -58,6 +63,12 @@ class SchedulerAPI(nova.openstack.common.rpc.proxy.RpcProxy):
- accepts a list of capabilities
2.5 - Add get_backdoor_port()
2.6 - Add select_hosts()
+
+ ... Grizzly supports message version 2.6. So, any changes to existing
+ methods in 2.x after that point should be done such that they can
+ handle the version_cap being set to 2.6.
+
+ 2.7 - Add select_destinations()
'''
#
@@ -70,9 +81,21 @@ class SchedulerAPI(nova.openstack.common.rpc.proxy.RpcProxy):
#
BASE_RPC_API_VERSION = '2.0'
+ VERSION_ALIASES = {
+ 'grizzly': '2.6',
+ }
+
def __init__(self):
+ version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.scheduler,
+ CONF.upgrade_levels.scheduler)
super(SchedulerAPI, self).__init__(topic=CONF.scheduler_topic,
- default_version=self.BASE_RPC_API_VERSION)
+ default_version=self.BASE_RPC_API_VERSION,
+ version_cap=version_cap)
+
+ def select_destinations(self, ctxt, request_spec, filter_properties):
+ return self.call(ctxt, self.make_msg('select_destinations',
+ request_spec=request_spec, filter_properties=filter_properties),
+ version='2.7')
def run_instance(self, ctxt, request_spec, admin_password,
injected_files, requested_networks, is_first_time,
diff --git a/nova/scheduler/scheduler_options.py b/nova/scheduler/scheduler_options.py
index bae470d1b..5ba2117cc 100644
--- a/nova/scheduler/scheduler_options.py
+++ b/nova/scheduler/scheduler_options.py
@@ -69,15 +69,15 @@ class SchedulerOptions(object):
except os.error as e:
with excutils.save_and_reraise_exception():
LOG.exception(_("Could not stat scheduler options file "
- "%(filename)s: '%(e)s'"), locals())
+ "%(filename)s: '%(e)s'"),
+ {'filename': filename, 'e': e})
def _load_file(self, handle):
"""Decode the JSON file. Broken out for testing."""
try:
return json.load(handle)
except ValueError as e:
- LOG.exception(_("Could not decode scheduler options: "
- "'%(e)s'") % locals())
+ LOG.exception(_("Could not decode scheduler options: '%s'"), e)
return {}
def _get_time_now(self):
diff --git a/nova/scheduler/utils.py b/nova/scheduler/utils.py
index d17ab89b2..eeb68f439 100644
--- a/nova/scheduler/utils.py
+++ b/nova/scheduler/utils.py
@@ -14,20 +14,81 @@
"""Utility methods for scheduling."""
+import sys
+
from nova.compute import flavors
+from nova.compute import utils as compute_utils
+from nova import db
+from nova import notifications
from nova.openstack.common import jsonutils
+from nova.openstack.common import log as logging
+from nova.openstack.common.notifier import api as notifier
+
+LOG = logging.getLogger(__name__)
-def build_request_spec(image, instances):
+def build_request_spec(ctxt, image, instances):
"""Build a request_spec for the scheduler.
The request_spec assumes that all instances to be scheduled are the same
type.
"""
- instance = jsonutils.to_primitive(instances[0])
+ instance = instances[0]
+ instance_type = flavors.extract_flavor(instance)
+ # NOTE(comstud): This is a bit ugly, but will get cleaned up when
+ # we're passing an InstanceType internal object.
+ extra_specs = db.instance_type_extra_specs_get(ctxt,
+ instance_type['flavorid'])
+ instance_type['extra_specs'] = extra_specs
request_spec = {
'image': image,
'instance_properties': instance,
- 'instance_type': flavors.extract_flavor(instance),
+ 'instance_type': instance_type,
+ 'num_instances': len(instances),
+ # NOTE(alaski): This should be removed as logic moves from the
+ # scheduler to conductor. Provides backwards compatibility now.
'instance_uuids': [inst['uuid'] for inst in instances]}
- return request_spec
+ return jsonutils.to_primitive(request_spec)
+
+
+def set_vm_state_and_notify(context, service, method, updates, ex,
+ request_spec, db):
+ """changes VM state and notifies."""
+ LOG.warning(_("Failed to %(service)s_%(method)s: %(ex)s"),
+ {'service': service, 'method': method, 'ex': ex})
+
+ vm_state = updates['vm_state']
+ properties = request_spec.get('instance_properties', {})
+ # NOTE(vish): We shouldn't get here unless we have a catastrophic
+ # failure, so just set all instances to error. if uuid
+ # is not set, instance_uuids will be set to [None], this
+ # is solely to preserve existing behavior and can
+ # be removed along with the 'if instance_uuid:' if we can
+ # verify that uuid is always set.
+ uuids = [properties.get('uuid')]
+ from nova.conductor import api as conductor_api
+ for instance_uuid in request_spec.get('instance_uuids') or uuids:
+ if instance_uuid:
+ state = vm_state.upper()
+ LOG.warning(_('Setting instance to %s state.'), state,
+ instance_uuid=instance_uuid)
+
+ # update instance state and notify on the transition
+ (old_ref, new_ref) = db.instance_update_and_get_original(
+ context, instance_uuid, updates)
+ notifications.send_update(context, old_ref, new_ref,
+ service=service)
+ compute_utils.add_instance_fault_from_exc(context,
+ conductor_api.LocalAPI(),
+ new_ref, ex, sys.exc_info())
+
+ payload = dict(request_spec=request_spec,
+ instance_properties=properties,
+ instance_id=instance_uuid,
+ state=vm_state,
+ method=method,
+ reason=ex)
+
+ event_type = '%s.%s' % (service, method)
+ notifier.notify(context, notifier.publisher_id(service),
+ event_type, notifier.ERROR, payload)
diff --git a/nova/service.py b/nova/service.py
index 0377ba44b..715040323 100644
--- a/nova/service.py
+++ b/nova/service.py
@@ -286,7 +286,7 @@ class Service(service.Service):
"""Perform basic config checks before starting processing."""
# Make sure the tempdir exists and is writable
try:
- with utils.tempdir() as tmpdir:
+ with utils.tempdir():
pass
except Exception as e:
LOG.error(_('Temporary directory is invalid: %s'), e)
diff --git a/nova/tests/api/ec2/test_cloud.py b/nova/tests/api/ec2/test_cloud.py
index 543bf4a62..c9e8ff42f 100644
--- a/nova/tests/api/ec2/test_cloud.py
+++ b/nova/tests/api/ec2/test_cloud.py
@@ -46,6 +46,7 @@ from nova.network import api as network_api
from nova.network import quantumv2
from nova.openstack.common import log as logging
from nova.openstack.common import rpc
+from nova.openstack.common import timeutils
from nova import test
from nova.tests.api.openstack.compute.contrib import (
test_quantum_security_groups as test_quantum)
@@ -880,6 +881,7 @@ class CloudTestCase(test.TestCase):
'instance_type_id': 1,
'host': 'host1',
'vm_state': 'active',
+ 'launched_at': timeutils.utcnow(),
'hostname': 'server-1111',
'created_at': datetime.datetime(2012, 5, 1, 1, 1, 1),
'system_metadata': sys_meta
@@ -891,6 +893,7 @@ class CloudTestCase(test.TestCase):
'instance_type_id': 1,
'host': 'host2',
'vm_state': 'active',
+ 'launched_at': timeutils.utcnow(),
'hostname': 'server-1112',
'created_at': datetime.datetime(2012, 5, 1, 1, 1, 2),
'system_metadata': sys_meta
@@ -2121,6 +2124,7 @@ class CloudTestCase(test.TestCase):
return [dict(id=1,
source_type='snapshot',
destination_type='volume',
+ instance_uuid=inst_id,
snapshot_id=snapshots[0],
volume_id=volumes[0],
volume_size=1,
@@ -2134,7 +2138,8 @@ class CloudTestCase(test.TestCase):
virt_driver = {}
- def fake_power_on(self, instance):
+ def fake_power_on(self, context, instance, network_info,
+ block_device_info):
virt_driver['powered_on'] = True
self.stubs.Set(fake_virt.FakeDriver, 'power_on', fake_power_on)
@@ -2442,6 +2447,7 @@ class CloudTestCase(test.TestCase):
'image_ref': image_uuid,
'instance_type_id': 1,
'vm_state': 'active',
+ 'launched_at': timeutils.utcnow(),
'hostname': 'server-1111',
'created_at': datetime.datetime(2012, 5, 1, 1, 1, 1)
}
@@ -2492,6 +2498,7 @@ class CloudTestCase(test.TestCase):
'image_ref': image_uuid,
'instance_type_id': 1,
'vm_state': 'active',
+ 'launched_at': timeutils.utcnow(),
'hostname': 'server-1111',
'created_at': datetime.datetime(2012, 5, 1, 1, 1, 1)
}
@@ -2501,6 +2508,7 @@ class CloudTestCase(test.TestCase):
'image_ref': image_uuid,
'instance_type_id': 1,
'vm_state': 'active',
+ 'launched_at': timeutils.utcnow(),
'hostname': 'server-1112',
'created_at': datetime.datetime(2012, 5, 1, 1, 1, 2)
}
diff --git a/nova/tests/api/openstack/compute/contrib/test_admin_actions.py b/nova/tests/api/openstack/compute/contrib/test_admin_actions.py
index 5e64bdf94..39eebbcd1 100644
--- a/nova/tests/api/openstack/compute/contrib/test_admin_actions.py
+++ b/nova/tests/api/openstack/compute/contrib/test_admin_actions.py
@@ -26,6 +26,7 @@ from nova.conductor import api as conductor_api
from nova import context
from nova import exception
from nova.openstack.common import jsonutils
+from nova.openstack.common import timeutils
from nova import test
from nova.tests.api.openstack import fakes
@@ -41,6 +42,7 @@ INSTANCE = {
"tenant_id": 'fake_tenant_id',
"created_at": datetime.datetime(2010, 10, 10, 12, 0, 0),
"updated_at": datetime.datetime(2010, 11, 11, 11, 0, 0),
+ "launched_at": datetime.datetime(2010, 11, 11, 11, 0, 0),
"security_groups": [{"id": 1, "name": "test"}],
"progress": 0,
"image_ref": 'http://foo.com/123',
@@ -61,7 +63,7 @@ def fake_compute_api_raises_invalid_state(*args, **kwargs):
def fake_compute_api_get(self, context, instance_id):
return {'id': 1, 'uuid': instance_id, 'vm_state': vm_states.ACTIVE,
- 'task_state': None}
+ 'task_state': None, 'launched_at': timeutils.utcnow()}
class AdminActionsTest(test.TestCase):
diff --git a/nova/tests/api/openstack/compute/contrib/test_availability_zone.py b/nova/tests/api/openstack/compute/contrib/test_availability_zone.py
index 2ccb9fa31..0b63960ce 100644
--- a/nova/tests/api/openstack/compute/contrib/test_availability_zone.py
+++ b/nova/tests/api/openstack/compute/contrib/test_availability_zone.py
@@ -76,6 +76,7 @@ def fake_set_availability_zones(context, services):
class AvailabilityZoneApiTest(test.TestCase):
def setUp(self):
super(AvailabilityZoneApiTest, self).setUp()
+ availability_zones._reset_cache()
self.stubs.Set(db, 'service_get_all', fake_service_get_all)
self.stubs.Set(availability_zones, 'set_availability_zones',
fake_set_availability_zones)
diff --git a/nova/tests/api/openstack/compute/contrib/test_coverage_ext.py b/nova/tests/api/openstack/compute/contrib/test_coverage_ext.py
index 957625b34..93a623bf6 100644
--- a/nova/tests/api/openstack/compute/contrib/test_coverage_ext.py
+++ b/nova/tests/api/openstack/compute/contrib/test_coverage_ext.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-# under the License
+# under the License.
import telnetlib
diff --git a/nova/tests/api/openstack/compute/contrib/test_evacuate.py b/nova/tests/api/openstack/compute/contrib/test_evacuate.py
index 816bac565..f2ebf9d78 100644
--- a/nova/tests/api/openstack/compute/contrib/test_evacuate.py
+++ b/nova/tests/api/openstack/compute/contrib/test_evacuate.py
@@ -76,8 +76,8 @@ class EvacuateTest(test.TestCase):
ctxt.project_id = 'fake'
ctxt.is_admin = True
app = fakes.wsgi_app(fake_auth_context=ctxt)
- uuid = self.UUID
- req = webob.Request.blank('/v2/fake/servers/%s/action' % uuid)
+ uuid1 = self.UUID
+ req = webob.Request.blank('/v2/fake/servers/%s/action' % uuid1)
req.method = 'POST'
req.body = jsonutils.dumps({
'evacuate': {
@@ -105,8 +105,8 @@ class EvacuateTest(test.TestCase):
ctxt.project_id = 'fake'
ctxt.is_admin = True
app = fakes.wsgi_app(fake_auth_context=ctxt)
- uuid = self.UUID
- req = webob.Request.blank('/v2/fake/servers/%s/action' % uuid)
+ uuid1 = self.UUID
+ req = webob.Request.blank('/v2/fake/servers/%s/action' % uuid1)
req.method = 'POST'
req.body = jsonutils.dumps({
'evacuate': {
@@ -132,8 +132,8 @@ class EvacuateTest(test.TestCase):
ctxt.project_id = 'fake'
ctxt.is_admin = True
app = fakes.wsgi_app(fake_auth_context=ctxt)
- uuid = self.UUID
- req = webob.Request.blank('/v2/fake/servers/%s/action' % uuid)
+ uuid1 = self.UUID
+ req = webob.Request.blank('/v2/fake/servers/%s/action' % uuid1)
req.method = 'POST'
req.body = jsonutils.dumps({
'evacuate': {
@@ -161,8 +161,8 @@ class EvacuateTest(test.TestCase):
ctxt.project_id = 'fake'
ctxt.is_admin = True
app = fakes.wsgi_app(fake_auth_context=ctxt)
- uuid = self.UUID
- req = webob.Request.blank('/v2/fake/servers/%s/action' % uuid)
+ uuid1 = self.UUID
+ req = webob.Request.blank('/v2/fake/servers/%s/action' % uuid1)
req.method = 'POST'
req.body = jsonutils.dumps({
'evacuate': {
@@ -184,8 +184,8 @@ class EvacuateTest(test.TestCase):
def test_not_admin(self):
ctxt = context.RequestContext('fake', 'fake', is_admin=False)
app = fakes.wsgi_app(fake_auth_context=ctxt)
- uuid = self.UUID
- req = webob.Request.blank('/v2/fake/servers/%s/action' % uuid)
+ uuid1 = self.UUID
+ req = webob.Request.blank('/v2/fake/servers/%s/action' % uuid1)
req.method = 'POST'
req.body = jsonutils.dumps({
'evacuate': {
diff --git a/nova/tests/api/openstack/compute/contrib/test_extended_availability_zone.py b/nova/tests/api/openstack/compute/contrib/test_extended_availability_zone.py
index 814c0fff4..59d60acf2 100644
--- a/nova/tests/api/openstack/compute/contrib/test_extended_availability_zone.py
+++ b/nova/tests/api/openstack/compute/contrib/test_extended_availability_zone.py
@@ -19,6 +19,7 @@ import webob
from nova.api.openstack.compute.contrib import extended_availability_zone
from nova import availability_zones
from nova import compute
+from nova.compute import vm_states
from nova import exception
from nova.openstack.common import jsonutils
from nova import test
@@ -29,14 +30,31 @@ UUID2 = '00000000-0000-0000-0000-000000000002'
UUID3 = '00000000-0000-0000-0000-000000000003'
+def fake_compute_get_az(*args, **kwargs):
+ inst = fakes.stub_instance(1, uuid=UUID3, host="get-host",
+ vm_state=vm_states.ACTIVE,
+ availability_zone='fakeaz')
+ return inst
+
+
+def fake_compute_get_empty(*args, **kwargs):
+ inst = fakes.stub_instance(1, uuid=UUID3, host="",
+ vm_state=vm_states.ACTIVE,
+ availability_zone='fakeaz')
+ return inst
+
+
def fake_compute_get(*args, **kwargs):
- inst = fakes.stub_instance(1, uuid=UUID3, host="get-host")
+ inst = fakes.stub_instance(1, uuid=UUID3, host="get-host",
+ vm_state=vm_states.ACTIVE)
return inst
def fake_compute_get_all(*args, **kwargs):
- inst1 = fakes.stub_instance(1, uuid=UUID1, host="all-host")
- inst2 = fakes.stub_instance(2, uuid=UUID2, host="all-host")
+ inst1 = fakes.stub_instance(1, uuid=UUID1, host="all-host",
+ vm_state=vm_states.ACTIVE)
+ inst2 = fakes.stub_instance(2, uuid=UUID2, host="all-host",
+ vm_state=vm_states.ACTIVE)
return [inst1, inst2]
@@ -44,12 +62,17 @@ def fake_get_host_availability_zone(context, host):
return host
+def fake_get_no_host_availability_zone(context, host):
+ return None
+
+
class ExtendedServerAttributesTest(test.TestCase):
content_type = 'application/json'
prefix = 'OS-EXT-AZ:'
def setUp(self):
super(ExtendedServerAttributesTest, self).setUp()
+ availability_zones._reset_cache()
fakes.stub_out_nw_api(self.stubs)
self.stubs.Set(compute.api.API, 'get', fake_compute_get)
self.stubs.Set(compute.api.API, 'get_all', fake_compute_get_all)
@@ -77,6 +100,28 @@ class ExtendedServerAttributesTest(test.TestCase):
self.assertEqual(server.get('%savailability_zone' % self.prefix),
az)
+ def test_show_no_host_az(self):
+ self.stubs.Set(compute.api.API, 'get', fake_compute_get_az)
+ self.stubs.Set(availability_zones, 'get_host_availability_zone',
+ fake_get_no_host_availability_zone)
+
+ url = '/v2/fake/servers/%s' % UUID3
+ res = self._make_request(url)
+
+ self.assertEqual(res.status_int, 200)
+ self.assertServerAttributes(self._get_server(res.body), 'fakeaz')
+
+ def test_show_empty_host_az(self):
+ self.stubs.Set(compute.api.API, 'get', fake_compute_get_empty)
+ self.stubs.Set(availability_zones, 'get_host_availability_zone',
+ fake_get_no_host_availability_zone)
+
+ url = '/v2/fake/servers/%s' % UUID3
+ res = self._make_request(url)
+
+ self.assertEqual(res.status_int, 200)
+ self.assertServerAttributes(self._get_server(res.body), 'fakeaz')
+
def test_show(self):
url = '/v2/fake/servers/%s' % UUID3
res = self._make_request(url)
diff --git a/nova/tests/api/openstack/compute/contrib/test_flavor_manage.py b/nova/tests/api/openstack/compute/contrib/test_flavor_manage.py
index df2c3d392..459dae932 100644
--- a/nova/tests/api/openstack/compute/contrib/test_flavor_manage.py
+++ b/nova/tests/api/openstack/compute/contrib/test_flavor_manage.py
@@ -218,3 +218,18 @@ class FlavorManageTest(test.TestCase):
req.body = jsonutils.dumps(expected)
res = req.get_response(self.app)
self.assertEqual(res.status_int, 409)
+
+ def test_invalid_memory_mb(self):
+ """Check negative and decimal number can't be accepted."""
+
+ self.stubs.UnsetAll()
+ self.assertRaises(exception.InvalidInput, flavors.create, "abc",
+ -512, 2, 1, 1, 1234, 512, 1, True)
+ self.assertRaises(exception.InvalidInput, flavors.create, "abcd",
+ 512.2, 2, 1, 1, 1234, 512, 1, True)
+ self.assertRaises(exception.InvalidInput, flavors.create, "abcde",
+ None, 2, 1, 1, 1234, 512, 1, True)
+ self.assertRaises(exception.InvalidInput, flavors.create, "abcdef",
+ 512, 2, None, 1, 1234, 512, 1, True)
+ self.assertRaises(exception.InvalidInput, flavors.create, "abcdef",
+ "test_memory_mb", 2, None, 1, 1234, 512, 1, True)
diff --git a/nova/tests/api/openstack/compute/contrib/test_security_groups.py b/nova/tests/api/openstack/compute/contrib/test_security_groups.py
index f1433bd0a..ac3e8885d 100644
--- a/nova/tests/api/openstack/compute/contrib/test_security_groups.py
+++ b/nova/tests/api/openstack/compute/contrib/test_security_groups.py
@@ -716,7 +716,7 @@ class TestSecurityGroupRules(test.TestCase):
db1 = security_group_db(self.sg1)
db2 = security_group_db(self.sg2)
- def return_security_group(context, group_id):
+ def return_security_group(context, group_id, columns_to_join=None):
if group_id == db1['id']:
return db1
if group_id == db2['id']:
diff --git a/nova/tests/api/openstack/compute/extensions/test_plugin_api_extensions.py b/nova/tests/api/openstack/compute/extensions/test_plugin_api_extensions.py
deleted file mode 100644
index 3aac638c6..000000000
--- a/nova/tests/api/openstack/compute/extensions/test_plugin_api_extensions.py
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2011 OpenStack Foundation
-# All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-import pkg_resources
-
-from nova.api.openstack.compute import extensions as computeextensions
-from nova.api.openstack import extensions
-from nova.openstack.common.plugin import plugin
-from nova import test
-
-
-class StubController(object):
-
- def i_am_the_stub(self):
- pass
-
-
-class StubControllerExtension(extensions.ExtensionDescriptor):
- """This is a docstring. We need it."""
- name = 'stubextension'
- alias = 'stubby'
-
- def get_resources(self):
- resources = []
- res = extensions.ResourceExtension('testme',
- StubController())
- resources.append(res)
- return resources
-
-
-service_list = []
-
-
-class TestPluginClass(plugin.Plugin):
-
- def __init__(self, service_name):
- super(TestPluginClass, self).__init__(service_name)
- self._add_api_extension_descriptor(StubControllerExtension)
- service_list.append(service_name)
-
-
-class MockEntrypoint(pkg_resources.EntryPoint):
- def load(self):
- return TestPluginClass
-
-
-class APITestCase(test.TestCase):
- """Test case for the plugin api extension interface."""
- def test_add_extension(self):
- def mock_load(_s):
- return TestPluginClass()
-
- def mock_iter_entry_points(_t):
- return [MockEntrypoint("fake", "fake", ["fake"])]
-
- self.stubs.Set(pkg_resources, 'iter_entry_points',
- mock_iter_entry_points)
- global service_list
- service_list = []
-
- # Marking out the default extension paths makes this test MUCH faster.
- self.flags(osapi_compute_extension=[])
-
- found = False
- mgr = computeextensions.ExtensionManager()
- for res in mgr.get_resources():
- # We have to use this weird 'dir' check because
- # the plugin framework muddies up the classname
- # such that 'isinstance' doesn't work right.
- if 'i_am_the_stub' in dir(res.controller):
- found = True
-
- self.assertTrue(found)
- self.assertEqual(len(service_list), 1)
- self.assertEqual(service_list[0], 'compute-extensions')
diff --git a/nova/tests/api/openstack/compute/plugins/v3/test_agents.py b/nova/tests/api/openstack/compute/plugins/v3/test_agents.py
new file mode 100644
index 000000000..0154ada9e
--- /dev/null
+++ b/nova/tests/api/openstack/compute/plugins/v3/test_agents.py
@@ -0,0 +1,181 @@
+# Copyright 2012 IBM Corp.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+
+from nova.api.openstack.compute.contrib import agents
+from nova import context
+from nova import db
+from nova.db.sqlalchemy import models
+from nova import test
+
+fake_agents_list = [{'hypervisor': 'kvm', 'os': 'win',
+ 'architecture': 'x86',
+ 'version': '7.0',
+ 'url': 'xxx://xxxx/xxx/xxx',
+ 'md5hash': 'add6bb58e139be103324d04d82d8f545',
+ 'id': 1},
+ {'hypervisor': 'kvm', 'os': 'linux',
+ 'architecture': 'x86',
+ 'version': '16.0',
+ 'url': 'xxx://xxxx/xxx/xxx1',
+ 'md5hash': 'add6bb58e139be103324d04d82d8f546',
+ 'id': 2},
+ {'hypervisor': 'xen', 'os': 'linux',
+ 'architecture': 'x86',
+ 'version': '16.0',
+ 'url': 'xxx://xxxx/xxx/xxx2',
+ 'md5hash': 'add6bb58e139be103324d04d82d8f547',
+ 'id': 3},
+ {'hypervisor': 'xen', 'os': 'win',
+ 'architecture': 'power',
+ 'version': '7.0',
+ 'url': 'xxx://xxxx/xxx/xxx3',
+ 'md5hash': 'add6bb58e139be103324d04d82d8f548',
+ 'id': 4},
+ ]
+
+
+def fake_agent_build_get_all(context, hypervisor):
+ agent_build_all = []
+ for agent in fake_agents_list:
+ if hypervisor and hypervisor != agent['hypervisor']:
+ continue
+ agent_build_ref = models.AgentBuild()
+ agent_build_ref.update(agent)
+ agent_build_all.append(agent_build_ref)
+ return agent_build_all
+
+
+def fake_agent_build_update(context, agent_build_id, values):
+ pass
+
+
+def fake_agent_build_destroy(context, agent_update_id):
+ pass
+
+
+def fake_agent_build_create(context, values):
+ values['id'] = 1
+ agent_build_ref = models.AgentBuild()
+ agent_build_ref.update(values)
+ return agent_build_ref
+
+
+class FakeRequest(object):
+ environ = {"nova.context": context.get_admin_context()}
+ GET = {}
+
+
+class FakeRequestWithHypervisor(object):
+ environ = {"nova.context": context.get_admin_context()}
+ GET = {'hypervisor': 'kvm'}
+
+
+class AgentsTest(test.TestCase):
+
+ def setUp(self):
+ super(AgentsTest, self).setUp()
+
+ self.stubs.Set(db, "agent_build_get_all",
+ fake_agent_build_get_all)
+ self.stubs.Set(db, "agent_build_update",
+ fake_agent_build_update)
+ self.stubs.Set(db, "agent_build_destroy",
+ fake_agent_build_destroy)
+ self.stubs.Set(db, "agent_build_create",
+ fake_agent_build_create)
+ self.context = context.get_admin_context()
+ self.controller = agents.AgentController()
+
+ def test_agents_create(self):
+ req = FakeRequest()
+ body = {'agent': {'hypervisor': 'kvm',
+ 'os': 'win',
+ 'architecture': 'x86',
+ 'version': '7.0',
+ 'url': 'xxx://xxxx/xxx/xxx',
+ 'md5hash': 'add6bb58e139be103324d04d82d8f545'}}
+ response = {'agent': {'hypervisor': 'kvm',
+ 'os': 'win',
+ 'architecture': 'x86',
+ 'version': '7.0',
+ 'url': 'xxx://xxxx/xxx/xxx',
+ 'md5hash': 'add6bb58e139be103324d04d82d8f545',
+ 'agent_id': 1}}
+ res_dict = self.controller.create(req, body)
+ self.assertEqual(res_dict, response)
+
+ def test_agents_delete(self):
+ req = FakeRequest()
+ self.controller.delete(req, 1)
+
+ def test_agents_list(self):
+ req = FakeRequest()
+ res_dict = self.controller.index(req)
+ agents_list = [{'hypervisor': 'kvm', 'os': 'win',
+ 'architecture': 'x86',
+ 'version': '7.0',
+ 'url': 'xxx://xxxx/xxx/xxx',
+ 'md5hash': 'add6bb58e139be103324d04d82d8f545',
+ 'agent_id': 1},
+ {'hypervisor': 'kvm', 'os': 'linux',
+ 'architecture': 'x86',
+ 'version': '16.0',
+ 'url': 'xxx://xxxx/xxx/xxx1',
+ 'md5hash': 'add6bb58e139be103324d04d82d8f546',
+ 'agent_id': 2},
+ {'hypervisor': 'xen', 'os': 'linux',
+ 'architecture': 'x86',
+ 'version': '16.0',
+ 'url': 'xxx://xxxx/xxx/xxx2',
+ 'md5hash': 'add6bb58e139be103324d04d82d8f547',
+ 'agent_id': 3},
+ {'hypervisor': 'xen', 'os': 'win',
+ 'architecture': 'power',
+ 'version': '7.0',
+ 'url': 'xxx://xxxx/xxx/xxx3',
+ 'md5hash': 'add6bb58e139be103324d04d82d8f548',
+ 'agent_id': 4},
+ ]
+ self.assertEqual(res_dict, {'agents': agents_list})
+
+ def test_agents_list_with_hypervisor(self):
+ req = FakeRequestWithHypervisor()
+ res_dict = self.controller.index(req)
+ response = [{'hypervisor': 'kvm', 'os': 'win',
+ 'architecture': 'x86',
+ 'version': '7.0',
+ 'url': 'xxx://xxxx/xxx/xxx',
+ 'md5hash': 'add6bb58e139be103324d04d82d8f545',
+ 'agent_id': 1},
+ {'hypervisor': 'kvm', 'os': 'linux',
+ 'architecture': 'x86',
+ 'version': '16.0',
+ 'url': 'xxx://xxxx/xxx/xxx1',
+ 'md5hash': 'add6bb58e139be103324d04d82d8f546',
+ 'agent_id': 2},
+ ]
+ self.assertEqual(res_dict, {'agents': response})
+
+ def test_agents_update(self):
+ req = FakeRequest()
+ body = {'para': {'version': '7.0',
+ 'url': 'xxx://xxxx/xxx/xxx',
+ 'md5hash': 'add6bb58e139be103324d04d82d8f545'}}
+ response = {'agent': {'agent_id': 1,
+ 'version': '7.0',
+ 'url': 'xxx://xxxx/xxx/xxx',
+ 'md5hash': 'add6bb58e139be103324d04d82d8f545'}}
+ res_dict = self.controller.update(req, 1, body)
+ self.assertEqual(res_dict, response)
diff --git a/nova/tests/api/openstack/compute/plugins/v3/test_cells.py b/nova/tests/api/openstack/compute/plugins/v3/test_cells.py
new file mode 100644
index 000000000..f369c06e3
--- /dev/null
+++ b/nova/tests/api/openstack/compute/plugins/v3/test_cells.py
@@ -0,0 +1,469 @@
+# Copyright 2011-2012 OpenStack Foundation
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import copy
+
+from lxml import etree
+from webob import exc
+
+from nova.api.openstack.compute.plugins.v3 import cells as cells_ext
+from nova.api.openstack import extensions
+from nova.api.openstack import xmlutil
+from nova.cells import rpcapi as cells_rpcapi
+from nova import context
+from nova import db
+from nova import exception
+from nova.openstack.common import timeutils
+from nova import test
+from nova.tests.api.openstack import fakes
+from nova.tests import utils
+
+
+FAKE_CELLS = [
+ dict(id=1, name='cell1', username='bob', is_parent=True,
+ weight_scale=1.0, weight_offset=0.0,
+ rpc_host='r1.example.org', password='xxxx'),
+ dict(id=2, name='cell2', username='alice', is_parent=False,
+ weight_scale=1.0, weight_offset=0.0,
+ rpc_host='r2.example.org', password='qwerty')]
+
+
+FAKE_CAPABILITIES = [
+ {'cap1': '0,1', 'cap2': '2,3'},
+ {'cap3': '4,5', 'cap4': '5,6'}]
+
+
+def fake_db_cell_get(context, cell_name):
+ for cell in FAKE_CELLS:
+ if cell_name == cell['name']:
+ return cell
+ else:
+ raise exception.CellNotFound(cell_name=cell_name)
+
+
+def fake_db_cell_create(context, values):
+ cell = dict(id=1)
+ cell.update(values)
+ return cell
+
+
+def fake_db_cell_update(context, cell_id, values):
+ cell = fake_db_cell_get(context, cell_id)
+ cell.update(values)
+ return cell
+
+
+def fake_cells_api_get_all_cell_info(*args):
+ cells = copy.deepcopy(FAKE_CELLS)
+ del cells[0]['password']
+ del cells[1]['password']
+ for i, cell in enumerate(cells):
+ cell['capabilities'] = FAKE_CAPABILITIES[i]
+ return cells
+
+
+def fake_db_cell_get_all(context):
+ return FAKE_CELLS
+
+
+class CellsTest(test.TestCase):
+ def setUp(self):
+ super(CellsTest, self).setUp()
+ self.stubs.Set(db, 'cell_get', fake_db_cell_get)
+ self.stubs.Set(db, 'cell_get_all', fake_db_cell_get_all)
+ self.stubs.Set(db, 'cell_update', fake_db_cell_update)
+ self.stubs.Set(db, 'cell_create', fake_db_cell_create)
+ self.stubs.Set(cells_rpcapi.CellsAPI, 'get_cell_info_for_neighbors',
+ fake_cells_api_get_all_cell_info)
+
+ self.controller = cells_ext.CellsController()
+ self.context = context.get_admin_context()
+
+ def _get_request(self, resource):
+ return fakes.HTTPRequestV3.blank('/' + resource)
+
+ def test_index(self):
+ req = self._get_request("cells")
+ res_dict = self.controller.index(req)
+
+ self.assertEqual(len(res_dict['cells']), 2)
+ for i, cell in enumerate(res_dict['cells']):
+ self.assertEqual(cell['name'], FAKE_CELLS[i]['name'])
+ self.assertNotIn('capabilitiles', cell)
+ self.assertNotIn('password', cell)
+
+ def test_detail(self):
+ req = self._get_request("cells/detail")
+ res_dict = self.controller.detail(req)
+
+ self.assertEqual(len(res_dict['cells']), 2)
+ for i, cell in enumerate(res_dict['cells']):
+ self.assertEqual(cell['name'], FAKE_CELLS[i]['name'])
+ self.assertEqual(cell['capabilities'], FAKE_CAPABILITIES[i])
+ self.assertNotIn('password', cell)
+
+ def test_show_bogus_cell_raises(self):
+ req = self._get_request("cells/bogus")
+ self.assertRaises(exc.HTTPNotFound, self.controller.show, req, 'bogus')
+
+ def test_get_cell_by_name(self):
+ req = self._get_request("cells/cell1")
+ res_dict = self.controller.show(req, 'cell1')
+ cell = res_dict['cell']
+
+ self.assertEqual(cell['name'], 'cell1')
+ self.assertEqual(cell['rpc_host'], 'r1.example.org')
+ self.assertNotIn('password', cell)
+
+ def test_cell_delete(self):
+ call_info = {'delete_called': 0}
+
+ def fake_db_cell_delete(context, cell_name):
+ self.assertEqual(cell_name, 'cell999')
+ call_info['delete_called'] += 1
+
+ self.stubs.Set(db, 'cell_delete', fake_db_cell_delete)
+
+ req = self._get_request("cells/cell999")
+ self.controller.delete(req, 'cell999')
+ self.assertEqual(call_info['delete_called'], 1)
+
+ def test_delete_bogus_cell_raises(self):
+ req = self._get_request("cells/cell999")
+ req.environ['nova.context'] = self.context
+ self.assertRaises(exc.HTTPNotFound, self.controller.delete, req,
+ 'cell999')
+
+ def test_cell_create_parent(self):
+ body = {'cell': {'name': 'meow',
+ 'username': 'fred',
+ 'password': 'fubar',
+ 'rpc_host': 'r3.example.org',
+ 'type': 'parent',
+ # Also test this is ignored/stripped
+ 'is_parent': False}}
+
+ req = self._get_request("cells")
+ res_dict = self.controller.create(req, body)
+ cell = res_dict['cell']
+
+ self.assertEqual(cell['name'], 'meow')
+ self.assertEqual(cell['username'], 'fred')
+ self.assertEqual(cell['rpc_host'], 'r3.example.org')
+ self.assertEqual(cell['type'], 'parent')
+ self.assertNotIn('password', cell)
+ self.assertNotIn('is_parent', cell)
+
+ def test_cell_create_child(self):
+ body = {'cell': {'name': 'meow',
+ 'username': 'fred',
+ 'password': 'fubar',
+ 'rpc_host': 'r3.example.org',
+ 'type': 'child'}}
+
+ req = self._get_request("cells")
+ res_dict = self.controller.create(req, body)
+ cell = res_dict['cell']
+
+ self.assertEqual(cell['name'], 'meow')
+ self.assertEqual(cell['username'], 'fred')
+ self.assertEqual(cell['rpc_host'], 'r3.example.org')
+ self.assertEqual(cell['type'], 'child')
+ self.assertNotIn('password', cell)
+ self.assertNotIn('is_parent', cell)
+
+ def test_cell_create_no_name_raises(self):
+ body = {'cell': {'username': 'moocow',
+ 'password': 'secret',
+ 'rpc_host': 'r3.example.org',
+ 'type': 'parent'}}
+
+ req = self._get_request("cells")
+ self.assertRaises(exc.HTTPBadRequest,
+ self.controller.create, req, body)
+
+ def test_cell_create_name_empty_string_raises(self):
+ body = {'cell': {'name': '',
+ 'username': 'fred',
+ 'password': 'secret',
+ 'rpc_host': 'r3.example.org',
+ 'type': 'parent'}}
+
+ req = self._get_request("cells")
+ self.assertRaises(exc.HTTPBadRequest,
+ self.controller.create, req, body)
+
+ def test_cell_create_name_with_bang_raises(self):
+ body = {'cell': {'name': 'moo!cow',
+ 'username': 'fred',
+ 'password': 'secret',
+ 'rpc_host': 'r3.example.org',
+ 'type': 'parent'}}
+
+ req = self._get_request("cells")
+ self.assertRaises(exc.HTTPBadRequest,
+ self.controller.create, req, body)
+
+ def test_cell_create_name_with_dot_raises(self):
+ body = {'cell': {'name': 'moo.cow',
+ 'username': 'fred',
+ 'password': 'secret',
+ 'rpc_host': 'r3.example.org',
+ 'type': 'parent'}}
+
+ req = self._get_request("cells")
+ self.assertRaises(exc.HTTPBadRequest,
+ self.controller.create, req, body)
+
+ def test_cell_create_name_with_invalid_type_raises(self):
+ body = {'cell': {'name': 'moocow',
+ 'username': 'fred',
+ 'password': 'secret',
+ 'rpc_host': 'r3.example.org',
+ 'type': 'invalid'}}
+
+ req = self._get_request("cells")
+ self.assertRaises(exc.HTTPBadRequest,
+ self.controller.create, req, body)
+
+ def test_cell_update(self):
+ body = {'cell': {'username': 'zeb',
+ 'password': 'sneaky'}}
+
+ req = self._get_request("cells/cell1")
+ res_dict = self.controller.update(req, 'cell1', body)
+ cell = res_dict['cell']
+
+ self.assertEqual(cell['name'], 'cell1')
+ self.assertEqual(cell['rpc_host'], FAKE_CELLS[0]['rpc_host'])
+ self.assertEqual(cell['username'], 'zeb')
+ self.assertNotIn('password', cell)
+
+ def test_cell_update_empty_name_raises(self):
+ body = {'cell': {'name': '',
+ 'username': 'zeb',
+ 'password': 'sneaky'}}
+
+ req = self._get_request("cells/cell1")
+ self.assertRaises(exc.HTTPBadRequest,
+ self.controller.update, req, 'cell1', body)
+
+ def test_cell_update_invalid_type_raises(self):
+ body = {'cell': {'username': 'zeb',
+ 'type': 'invalid',
+ 'password': 'sneaky'}}
+
+ req = self._get_request("cells/cell1")
+ self.assertRaises(exc.HTTPBadRequest,
+ self.controller.update, req, 'cell1', body)
+
+ def test_cell_info(self):
+ caps = ['cap1=a;b', 'cap2=c;d']
+ self.flags(name='darksecret', capabilities=caps, group='cells')
+
+ req = self._get_request("cells/info")
+ res_dict = self.controller.info(req)
+ cell = res_dict['cell']
+ cell_caps = cell['capabilities']
+
+ self.assertEqual(cell['name'], 'darksecret')
+ self.assertEqual(cell_caps['cap1'], 'a;b')
+ self.assertEqual(cell_caps['cap2'], 'c;d')
+
+ def test_show_capacities(self):
+ self.mox.StubOutWithMock(self.controller.cells_rpcapi,
+ 'get_capacities')
+ response = {"ram_free":
+ {"units_by_mb": {"8192": 0, "512": 13,
+ "4096": 1, "2048": 3, "16384": 0},
+ "total_mb": 7680},
+ "disk_free":
+ {"units_by_mb": {"81920": 11, "20480": 46,
+ "40960": 23, "163840": 5, "0": 0},
+ "total_mb": 1052672}
+ }
+ self.controller.cells_rpcapi.\
+ get_capacities(self.context, cell_name=None).AndReturn(response)
+ self.mox.ReplayAll()
+ req = self._get_request("cells/capacities")
+ req.environ["nova.context"] = self.context
+ res_dict = self.controller.capacities(req)
+ self.assertEqual(response, res_dict['cell']['capacities'])
+
+ def test_show_capacity_fails_with_non_admin_context(self):
+ rules = {"compute_extension:cells": "is_admin:true"}
+ self.policy.set_rules(rules)
+
+ self.mox.ReplayAll()
+ req = self._get_request("cells/capacities")
+ req.environ["nova.context"] = self.context
+ req.environ["nova.context"].is_admin = False
+ self.assertRaises(exception.PolicyNotAuthorized,
+ self.controller.capacities, req)
+
+ def test_show_capacities_for_invalid_cell(self):
+ self.mox.StubOutWithMock(self.controller.cells_rpcapi,
+ 'get_capacities')
+ self.controller.cells_rpcapi. \
+ get_capacities(self.context, cell_name="invalid_cell").AndRaise(
+ exception.CellNotFound(cell_name="invalid_cell"))
+ self.mox.ReplayAll()
+ req = self._get_request("cells/invalid_cell/capacities")
+ req.environ["nova.context"] = self.context
+ self.assertRaises(exc.HTTPNotFound,
+ self.controller.capacities, req, "invalid_cell")
+
+ def test_show_capacities_for_cell(self):
+ self.mox.StubOutWithMock(self.controller.cells_rpcapi,
+ 'get_capacities')
+ response = {"ram_free":
+ {"units_by_mb": {"8192": 0, "512": 13,
+ "4096": 1, "2048": 3, "16384": 0},
+ "total_mb": 7680},
+ "disk_free":
+ {"units_by_mb": {"81920": 11, "20480": 46,
+ "40960": 23, "163840": 5, "0": 0},
+ "total_mb": 1052672}
+ }
+ self.controller.cells_rpcapi.\
+ get_capacities(self.context, cell_name='cell_name').\
+ AndReturn(response)
+ self.mox.ReplayAll()
+ req = self._get_request("cells/capacities")
+ req.environ["nova.context"] = self.context
+ res_dict = self.controller.capacities(req, 'cell_name')
+ self.assertEqual(response, res_dict['cell']['capacities'])
+
+ def test_sync_instances(self):
+ call_info = {}
+
+ def sync_instances(self, context, **kwargs):
+ call_info['project_id'] = kwargs.get('project_id')
+ call_info['updated_since'] = kwargs.get('updated_since')
+
+ self.stubs.Set(cells_rpcapi.CellsAPI, 'sync_instances', sync_instances)
+
+ req = self._get_request("cells/sync_instances")
+ body = {}
+ self.controller.sync_instances(req, body=body)
+ self.assertEqual(call_info['project_id'], None)
+ self.assertEqual(call_info['updated_since'], None)
+
+ body = {'project_id': 'test-project'}
+ self.controller.sync_instances(req, body=body)
+ self.assertEqual(call_info['project_id'], 'test-project')
+ self.assertEqual(call_info['updated_since'], None)
+
+ expected = timeutils.utcnow().isoformat()
+ if not expected.endswith("+00:00"):
+ expected += "+00:00"
+
+ body = {'updated_since': expected}
+ self.controller.sync_instances(req, body=body)
+ self.assertEqual(call_info['project_id'], None)
+ self.assertEqual(call_info['updated_since'], expected)
+
+ body = {'updated_since': 'skjdfkjsdkf'}
+ self.assertRaises(exc.HTTPBadRequest,
+ self.controller.sync_instances, req, body=body)
+
+ body = {'foo': 'meow'}
+ self.assertRaises(exc.HTTPBadRequest,
+ self.controller.sync_instances, req, body=body)
+
+
+class TestCellsXMLSerializer(test.TestCase):
+ def test_multiple_cells(self):
+ fixture = {'cells': fake_cells_api_get_all_cell_info()}
+
+ serializer = cells_ext.CellsTemplate()
+ output = serializer.serialize(fixture)
+ res_tree = etree.XML(output)
+
+ self.assertEqual(res_tree.tag, '{%s}cells' % xmlutil.XMLNS_V10)
+ self.assertEqual(len(res_tree), 2)
+ self.assertEqual(res_tree[0].tag, '{%s}cell' % xmlutil.XMLNS_V10)
+ self.assertEqual(res_tree[1].tag, '{%s}cell' % xmlutil.XMLNS_V10)
+
+ def test_single_cell_with_caps(self):
+ cell = {'id': 1,
+ 'name': 'darksecret',
+ 'username': 'meow',
+ 'capabilities': {'cap1': 'a;b',
+ 'cap2': 'c;d'}}
+ fixture = {'cell': cell}
+
+ serializer = cells_ext.CellTemplate()
+ output = serializer.serialize(fixture)
+ res_tree = etree.XML(output)
+
+ self.assertEqual(res_tree.tag, '{%s}cell' % xmlutil.XMLNS_V10)
+ self.assertEqual(res_tree.get('name'), 'darksecret')
+ self.assertEqual(res_tree.get('username'), 'meow')
+ self.assertEqual(res_tree.get('password'), None)
+ self.assertEqual(len(res_tree), 1)
+
+ child = res_tree[0]
+ self.assertEqual(child.tag,
+ '{%s}capabilities' % xmlutil.XMLNS_V10)
+ for elem in child:
+ self.assertIn(elem.tag, ('{%s}cap1' % xmlutil.XMLNS_V10,
+ '{%s}cap2' % xmlutil.XMLNS_V10))
+ if elem.tag == '{%s}cap1' % xmlutil.XMLNS_V10:
+ self.assertEqual(elem.text, 'a;b')
+ elif elem.tag == '{%s}cap2' % xmlutil.XMLNS_V10:
+ self.assertEqual(elem.text, 'c;d')
+
+ def test_single_cell_without_caps(self):
+ cell = {'id': 1,
+ 'username': 'woof',
+ 'name': 'darksecret'}
+ fixture = {'cell': cell}
+
+ serializer = cells_ext.CellTemplate()
+ output = serializer.serialize(fixture)
+ res_tree = etree.XML(output)
+
+ self.assertEqual(res_tree.tag, '{%s}cell' % xmlutil.XMLNS_V10)
+ self.assertEqual(res_tree.get('name'), 'darksecret')
+ self.assertEqual(res_tree.get('username'), 'woof')
+ self.assertEqual(res_tree.get('password'), None)
+ self.assertEqual(len(res_tree), 0)
+
+
+class TestCellsXMLDeserializer(test.TestCase):
+ def test_cell_deserializer(self):
+ caps_dict = {'cap1': 'a;b',
+ 'cap2': 'c;d'}
+ caps_xml = ("<capabilities><cap1>a;b</cap1>"
+ "<cap2>c;d</cap2></capabilities>")
+ expected = {'cell': {'name': 'testcell1',
+ 'type': 'child',
+ 'rpc_host': 'localhost',
+ 'capabilities': caps_dict}}
+ intext = ("<?xml version='1.0' encoding='UTF-8'?>\n"
+ "<cell><name>testcell1</name><type>child</type>"
+ "<rpc_host>localhost</rpc_host>"
+ "%s</cell>") % caps_xml
+ deserializer = cells_ext.CellDeserializer()
+ result = deserializer.deserialize(intext)
+ self.assertEqual(dict(body=expected), result)
+
+ def test_with_corrupt_xml(self):
+ deserializer = cells_ext.CellDeserializer()
+ self.assertRaises(
+ exception.MalformedRequestBody,
+ deserializer.deserialize,
+ utils.killer_xml_body())
diff --git a/nova/tests/api/openstack/compute/plugins/v3/test_certificates.py b/nova/tests/api/openstack/compute/plugins/v3/test_certificates.py
new file mode 100644
index 000000000..222087872
--- /dev/null
+++ b/nova/tests/api/openstack/compute/plugins/v3/test_certificates.py
@@ -0,0 +1,77 @@
+# Copyright (c) 2012 OpenStack Foundation
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from lxml import etree
+
+from nova.api.openstack.compute.plugins.v3 import certificates
+from nova import context
+from nova.openstack.common import rpc
+from nova import test
+from nova.tests.api.openstack import fakes
+
+
+def fake_get_root_cert(context, *args, **kwargs):
+ return 'fakeroot'
+
+
+def fake_create_cert(context, *args, **kwargs):
+ return 'fakepk', 'fakecert'
+
+
+class CertificatesTest(test.TestCase):
+ def setUp(self):
+ super(CertificatesTest, self).setUp()
+ self.context = context.RequestContext('fake', 'fake')
+ self.controller = certificates.CertificatesController()
+
+ def test_translate_certificate_view(self):
+ pk, cert = fake_create_cert(self.context)
+ view = certificates._translate_certificate_view(cert, pk)
+ self.assertEqual(view['data'], cert)
+ self.assertEqual(view['private_key'], pk)
+
+ def test_certificates_show_root(self):
+ self.stubs.Set(rpc, 'call', fake_get_root_cert)
+ req = fakes.HTTPRequestV3.blank('/os-certificates/root')
+ res_dict = self.controller.show(req, 'root')
+
+ cert = fake_get_root_cert(self.context)
+ response = {'certificate': {'data': cert, 'private_key': None}}
+ self.assertEqual(res_dict, response)
+
+ def test_certificates_create_certificate(self):
+ self.stubs.Set(rpc, 'call', fake_create_cert)
+ req = fakes.HTTPRequestV3.blank('/os-certificates/')
+ res_dict = self.controller.create(req)
+
+ pk, cert = fake_create_cert(self.context)
+ response = {'certificate': {'data': cert, 'private_key': pk}}
+ self.assertEqual(res_dict, response)
+
+
+class CertificatesSerializerTest(test.TestCase):
+ def test_index_serializer(self):
+ serializer = certificates.CertificateTemplate()
+ text = serializer.serialize(dict(
+ certificate=dict(
+ data='fakecert',
+ private_key='fakepk'),
+ ))
+
+ tree = etree.fromstring(text)
+
+ self.assertEqual('certificate', tree.tag)
+ self.assertEqual('fakepk', tree.get('private_key'))
+ self.assertEqual('fakecert', tree.get('data'))
diff --git a/nova/tests/api/openstack/compute/plugins/v3/test_evacuate.py b/nova/tests/api/openstack/compute/plugins/v3/test_evacuate.py
new file mode 100644
index 000000000..72a531277
--- /dev/null
+++ b/nova/tests/api/openstack/compute/plugins/v3/test_evacuate.py
@@ -0,0 +1,198 @@
+# Copyright 2013 OpenStack Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import uuid
+
+from oslo.config import cfg
+import webob
+
+from nova.compute import api as compute_api
+from nova.compute import vm_states
+from nova import context
+from nova.openstack.common import jsonutils
+from nova import test
+from nova.tests.api.openstack import fakes
+
+CONF = cfg.CONF
+CONF.import_opt('password_length', 'nova.utils')
+
+
+def fake_compute_api(*args, **kwargs):
+ return True
+
+
+def fake_compute_api_get(self, context, instance_id):
+ return {
+ 'id': 1,
+ 'uuid': instance_id,
+ 'vm_state': vm_states.ACTIVE,
+ 'task_state': None, 'host': 'host1'
+ }
+
+
+class EvacuateTest(test.TestCase):
+
+ _methods = ('resize', 'evacuate')
+
+ def setUp(self):
+ super(EvacuateTest, self).setUp()
+ self.stubs.Set(compute_api.API, 'get', fake_compute_api_get)
+ self.UUID = uuid.uuid4()
+ for _method in self._methods:
+ self.stubs.Set(compute_api.API, _method, fake_compute_api)
+
+ def test_evacuate_instance_with_no_target(self):
+ ctxt = context.get_admin_context()
+ ctxt.user_id = 'fake'
+ ctxt.project_id = 'fake'
+ ctxt.is_admin = True
+ app = fakes.wsgi_app_v3(fake_auth_context=ctxt)
+ req = webob.Request.blank('/v3/servers/%s/action' % self.UUID)
+ req.method = 'POST'
+ req.body = jsonutils.dumps({
+ 'evacuate': {
+ 'onSharedStorage': 'False',
+ 'adminPass': 'MyNewPass'
+ }
+ })
+ req.content_type = 'application/json'
+ res = req.get_response(app)
+ self.assertEqual(res.status_int, 400)
+
+ def test_evacuate_instance_with_target(self):
+ ctxt = context.get_admin_context()
+ ctxt.user_id = 'fake'
+ ctxt.project_id = 'fake'
+ ctxt.is_admin = True
+ app = fakes.wsgi_app_v3(fake_auth_context=ctxt)
+ uuid1 = self.UUID
+ req = webob.Request.blank('/v3/servers/%s/action' % uuid1)
+ req.method = 'POST'
+ req.body = jsonutils.dumps({
+ 'evacuate': {
+ 'host': 'my_host',
+ 'onSharedStorage': 'false',
+ 'adminPass': 'MyNewPass'
+ }
+ })
+ req.content_type = 'application/json'
+
+ def fake_update(inst, context, instance,
+ task_state, expected_task_state):
+ return None
+
+ self.stubs.Set(compute_api.API, 'update', fake_update)
+
+ resp = req.get_response(app)
+ self.assertEqual(resp.status_int, 200)
+ resp_json = jsonutils.loads(resp.body)
+ self.assertEqual("MyNewPass", resp_json['adminPass'])
+
+ def test_evacuate_shared_and_pass(self):
+ ctxt = context.get_admin_context()
+ ctxt.user_id = 'fake'
+ ctxt.project_id = 'fake'
+ ctxt.is_admin = True
+ app = fakes.wsgi_app_v3(fake_auth_context=ctxt)
+ uuid1 = self.UUID
+ req = webob.Request.blank('/v3/servers/%s/action' % uuid1)
+ req.method = 'POST'
+ req.body = jsonutils.dumps({
+ 'evacuate': {
+ 'host': 'my_host',
+ 'onSharedStorage': 'True',
+ 'adminPass': 'MyNewPass'
+ }
+ })
+ req.content_type = 'application/json'
+
+ def fake_update(inst, context, instance,
+ task_state, expected_task_state):
+ return None
+
+ self.stubs.Set(compute_api.API, 'update', fake_update)
+
+ res = req.get_response(app)
+ self.assertEqual(res.status_int, 400)
+
+ def test_evacuate_not_shared_pass_generated(self):
+ ctxt = context.get_admin_context()
+ ctxt.user_id = 'fake'
+ ctxt.project_id = 'fake'
+ ctxt.is_admin = True
+ app = fakes.wsgi_app_v3(fake_auth_context=ctxt)
+ uuid1 = self.UUID
+ req = webob.Request.blank('/v3/servers/%s/action' % uuid1)
+ req.method = 'POST'
+ req.body = jsonutils.dumps({
+ 'evacuate': {
+ 'host': 'my_host',
+ 'onSharedStorage': 'False',
+ }
+ })
+
+ req.content_type = 'application/json'
+
+ def fake_update(inst, context, instance,
+ task_state, expected_task_state):
+ return None
+
+ self.stubs.Set(compute_api.API, 'update', fake_update)
+
+ resp = req.get_response(app)
+ self.assertEqual(resp.status_int, 200)
+ resp_json = jsonutils.loads(resp.body)
+ self.assertEqual(CONF.password_length, len(resp_json['adminPass']))
+
+ def test_evacuate_shared(self):
+ ctxt = context.get_admin_context()
+ ctxt.user_id = 'fake'
+ ctxt.project_id = 'fake'
+ ctxt.is_admin = True
+ app = fakes.wsgi_app_v3(fake_auth_context=ctxt)
+ uuid1 = self.UUID
+ req = webob.Request.blank('/v3/servers/%s/action' % uuid1)
+ req.method = 'POST'
+ req.body = jsonutils.dumps({
+ 'evacuate': {
+ 'host': 'my_host',
+ 'onSharedStorage': 'True',
+ }
+ })
+ req.content_type = 'application/json'
+
+ def fake_update(inst, context, instance,
+ task_state, expected_task_state):
+ return None
+
+ self.stubs.Set(compute_api.API, 'update', fake_update)
+
+ res = req.get_response(app)
+ self.assertEqual(res.status_int, 200)
+
+ def test_not_admin(self):
+ ctxt = context.RequestContext('fake', 'fake', is_admin=False)
+ app = fakes.wsgi_app_v3(fake_auth_context=ctxt)
+ uuid1 = self.UUID
+ req = webob.Request.blank('/v3/servers/%s/action' % uuid1)
+ req.method = 'POST'
+ req.body = jsonutils.dumps({
+ 'evacuate': {
+ 'host': 'my_host',
+ 'onSharedStorage': 'True',
+ }
+ })
+ req.content_type = 'application/json'
+ res = req.get_response(app)
+ self.assertEqual(res.status_int, 403)
diff --git a/nova/tests/api/openstack/compute/plugins/v3/test_extension_info.py b/nova/tests/api/openstack/compute/plugins/v3/test_extension_info.py
new file mode 100644
index 000000000..a19d28064
--- /dev/null
+++ b/nova/tests/api/openstack/compute/plugins/v3/test_extension_info.py
@@ -0,0 +1,108 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2013 IBM Corp.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from nova.api.openstack.compute import plugins
+from nova.api.openstack.compute.plugins.v3 import extension_info
+from nova import exception
+from nova import policy
+from nova import test
+from nova.tests.api.openstack import fakes
+
+
+class fake_extension(object):
+ def __init__(self, name, alias, description, namespace, version):
+ self.name = name
+ self.alias = alias
+ self.__doc__ = description
+ self.namespace = namespace
+ self.version = version
+
+
+fake_extensions = {
+ 'ext1-alias': fake_extension('ext1', 'ext1-alias', 'ext1 description',
+ 'ext1 namespace', 1),
+ 'ext2-alias': fake_extension('ext2', 'ext2-alias', 'ext2 description',
+ 'ext2 namespace', 2),
+ 'ext3-alias': fake_extension('ext3', 'ext3-alias', 'ext3 description',
+ 'ext3 namespace', 1)
+}
+
+def fake_policy_enforce(context, action, target, do_raise=True):
+ return True
+
+def fake_policy_enforce_selective(context, action, target, do_raise=True):
+ if action == 'compute_extension:v3:ext1-alias:discoverable':
+ raise exception.NotAuthorized
+ else:
+ return True
+
+
+class ExtensionInfoTest(test.TestCase):
+
+ def setUp(self):
+ super(ExtensionInfoTest, self).setUp()
+ ext_info = plugins.LoadedExtensionInfo()
+ ext_info.extensions = fake_extensions
+ self.controller = extension_info.ExtensionInfoController(ext_info)
+
+ def test_extension_info_list(self):
+ self.stubs.Set(policy, 'enforce', fake_policy_enforce)
+ req = fakes.HTTPRequestV3.blank('/extensions')
+ res_dict = self.controller.index(req)
+ self.assertEqual(3, len(res_dict['extensions']))
+ for e in res_dict['extensions']:
+ self.assertIn(e['alias'], fake_extensions)
+ self.assertEqual(e['name'], fake_extensions[e['alias']].name)
+ self.assertEqual(e['alias'], fake_extensions[e['alias']].alias)
+ self.assertEqual(e['description'],
+ fake_extensions[e['alias']].__doc__)
+ self.assertEqual(e['namespace'],
+ fake_extensions[e['alias']].namespace)
+ self.assertEqual(e['version'],
+ fake_extensions[e['alias']].version)
+
+ def test_extension_info_show(self):
+ self.stubs.Set(policy, 'enforce', fake_policy_enforce)
+ req = fakes.HTTPRequestV3.blank('/extensions/ext1-alias')
+ res_dict = self.controller.show(req, 'ext1-alias')
+ self.assertEqual(1, len(res_dict))
+ self.assertEqual(res_dict['extension']['name'],
+ fake_extensions['ext1-alias'].name)
+ self.assertEqual(res_dict['extension']['alias'],
+ fake_extensions['ext1-alias'].alias)
+ self.assertEqual(res_dict['extension']['description'],
+ fake_extensions['ext1-alias'].__doc__)
+ self.assertEqual(res_dict['extension']['namespace'],
+ fake_extensions['ext1-alias'].namespace)
+ self.assertEqual(res_dict['extension']['version'],
+ fake_extensions['ext1-alias'].version)
+
+ def test_extension_info_list_not_all_discoverable(self):
+ self.stubs.Set(policy, 'enforce', fake_policy_enforce_selective)
+ req = fakes.HTTPRequestV3.blank('/extensions')
+ res_dict = self.controller.index(req)
+ self.assertEqual(2, len(res_dict['extensions']))
+ for e in res_dict['extensions']:
+ self.assertNotEqual('ext1-alias', e['alias'])
+ self.assertIn(e['alias'], fake_extensions)
+ self.assertEqual(e['name'], fake_extensions[e['alias']].name)
+ self.assertEqual(e['alias'], fake_extensions[e['alias']].alias)
+ self.assertEqual(e['description'],
+ fake_extensions[e['alias']].__doc__)
+ self.assertEqual(e['namespace'],
+ fake_extensions[e['alias']].namespace)
+ self.assertEqual(e['version'],
+ fake_extensions[e['alias']].version)
diff --git a/nova/tests/api/openstack/compute/plugins/v3/test_flavor_access.py b/nova/tests/api/openstack/compute/plugins/v3/test_flavor_access.py
new file mode 100644
index 000000000..7d9ec93df
--- /dev/null
+++ b/nova/tests/api/openstack/compute/plugins/v3/test_flavor_access.py
@@ -0,0 +1,308 @@
+# Copyright 2012 OpenStack Foundation
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import datetime
+
+from lxml import etree
+from webob import exc
+
+from nova.api.openstack.compute.plugins.v3 import flavor_access
+from nova.api.openstack.compute import flavors as flavors_api
+from nova.compute import flavors
+from nova import context
+from nova import exception
+from nova import test
+from nova.tests.api.openstack import fakes
+
+
+def generate_flavor(flavorid, ispublic):
+ return {
+ 'id': flavorid,
+ 'flavorid': str(flavorid),
+ 'root_gb': 1,
+ 'ephemeral_gb': 1,
+ 'name': u'test',
+ 'deleted': False,
+ 'created_at': datetime.datetime(2012, 1, 1, 1, 1, 1, 1),
+ 'updated_at': None,
+ 'memory_mb': 512,
+ 'vcpus': 1,
+ 'swap': 512,
+ 'rxtx_factor': 1.0,
+ 'extra_specs': {},
+ 'deleted_at': None,
+ 'vcpu_weight': None,
+ 'is_public': bool(ispublic)
+ }
+
+
+INSTANCE_TYPES = {
+ '0': generate_flavor(0, True),
+ '1': generate_flavor(1, True),
+ '2': generate_flavor(2, False),
+ '3': generate_flavor(3, False)}
+
+
+ACCESS_LIST = [{'flavor_id': '2', 'project_id': 'proj2'},
+ {'flavor_id': '2', 'project_id': 'proj3'},
+ {'flavor_id': '3', 'project_id': 'proj3'}]
+
+
+def fake_get_flavor_access_by_flavor_id(flavorid):
+ res = []
+ for access in ACCESS_LIST:
+ if access['flavor_id'] == flavorid:
+ res.append(access)
+ return res
+
+
+def fake_get_flavor_by_flavor_id(flavorid):
+ return INSTANCE_TYPES[flavorid]
+
+
+def _has_flavor_access(flavorid, projectid):
+ for access in ACCESS_LIST:
+ if access['flavor_id'] == flavorid and \
+ access['project_id'] == projectid:
+ return True
+ return False
+
+
+def fake_get_all_flavors(context, inactive=0, filters=None):
+ if filters == None or filters['is_public'] == None:
+ return INSTANCE_TYPES
+
+ res = {}
+ for k, v in INSTANCE_TYPES.iteritems():
+ if filters['is_public'] and _has_flavor_access(k, context.project_id):
+ res.update({k: v})
+ continue
+ if v['is_public'] == filters['is_public']:
+ res.update({k: v})
+
+ return res
+
+
+class FakeRequest(object):
+ environ = {"nova.context": context.get_admin_context()}
+
+ def get_db_flavor(self, flavor_id):
+ return INSTANCE_TYPES[flavor_id]
+
+
+class FakeResponse(object):
+ obj = {'flavor': {'id': '0'},
+ 'flavors': [
+ {'id': '0'},
+ {'id': '2'}]
+ }
+
+ def attach(self, **kwargs):
+ pass
+
+
+class FlavorAccessTest(test.TestCase):
+ def setUp(self):
+ super(FlavorAccessTest, self).setUp()
+ self.flavor_controller = flavors_api.Controller()
+ self.flavor_access_controller = flavor_access.FlavorAccessController()
+ self.flavor_action_controller = flavor_access.FlavorActionController()
+ self.req = FakeRequest()
+ self.context = self.req.environ['nova.context']
+ self.stubs.Set(flavors, 'get_flavor_by_flavor_id',
+ fake_get_flavor_by_flavor_id)
+ self.stubs.Set(flavors, 'get_all_flavors', fake_get_all_flavors)
+ self.stubs.Set(flavors, 'get_flavor_access_by_flavor_id',
+ fake_get_flavor_access_by_flavor_id)
+
+ def _verify_flavor_list(self, result, expected):
+ # result already sorted by flavor_id
+ self.assertEqual(len(result), len(expected))
+
+ for d1, d2 in zip(result, expected):
+ self.assertEqual(d1['id'], d2['id'])
+
+ def test_list_flavor_access_public(self):
+ # query os-flavor-access on public flavor should return 404
+ req = fakes.HTTPRequest.blank('/v3/fake/flavors/os-flavor-access',
+ use_admin_context=True)
+ self.assertRaises(exc.HTTPNotFound,
+ self.flavor_access_controller.index,
+ self.req, '1')
+
+ def test_list_flavor_access_private(self):
+ expected = {'flavor_access': [
+ {'flavor_id': '2', 'tenant_id': 'proj2'},
+ {'flavor_id': '2', 'tenant_id': 'proj3'}]}
+ result = self.flavor_access_controller.index(self.req, '2')
+ self.assertEqual(result, expected)
+
+ def test_list_flavor_with_admin_default_proj1(self):
+ expected = {'flavors': [{'id': '0'}, {'id': '1'}]}
+ req = fakes.HTTPRequest.blank('/v3/fake/flavors',
+ use_admin_context=True)
+ req.environ['nova.context'].project_id = 'proj1'
+ result = self.flavor_controller.index(req)
+ self._verify_flavor_list(result['flavors'], expected['flavors'])
+
+ def test_list_flavor_with_admin_default_proj2(self):
+ expected = {'flavors': [{'id': '0'}, {'id': '1'}, {'id': '2'}]}
+ req = fakes.HTTPRequest.blank('/v3/fake/flavors',
+ use_admin_context=True)
+ req.environ['nova.context'].project_id = 'proj2'
+ result = self.flavor_controller.index(req)
+ self._verify_flavor_list(result['flavors'], expected['flavors'])
+
+ def test_list_flavor_with_admin_ispublic_true(self):
+ expected = {'flavors': [{'id': '0'}, {'id': '1'}]}
+ req = fakes.HTTPRequest.blank('/v3/fake/flavors?is_public=true',
+ use_admin_context=True)
+ result = self.flavor_controller.index(req)
+ self._verify_flavor_list(result['flavors'], expected['flavors'])
+
+ def test_list_flavor_with_admin_ispublic_false(self):
+ expected = {'flavors': [{'id': '2'}, {'id': '3'}]}
+ req = fakes.HTTPRequest.blank('/v3/fake/flavors?is_public=false',
+ use_admin_context=True)
+ result = self.flavor_controller.index(req)
+ self._verify_flavor_list(result['flavors'], expected['flavors'])
+
+ def test_list_flavor_with_admin_ispublic_false_proj2(self):
+ expected = {'flavors': [{'id': '2'}, {'id': '3'}]}
+ req = fakes.HTTPRequest.blank('/v3/fake/flavors?is_public=false',
+ use_admin_context=True)
+ req.environ['nova.context'].project_id = 'proj2'
+ result = self.flavor_controller.index(req)
+ self._verify_flavor_list(result['flavors'], expected['flavors'])
+
+ def test_list_flavor_with_admin_ispublic_none(self):
+ expected = {'flavors': [{'id': '0'}, {'id': '1'}, {'id': '2'},
+ {'id': '3'}]}
+ req = fakes.HTTPRequest.blank('/v3/fake/flavors?is_public=none',
+ use_admin_context=True)
+ result = self.flavor_controller.index(req)
+ self._verify_flavor_list(result['flavors'], expected['flavors'])
+
+ def test_list_flavor_with_no_admin_default(self):
+ expected = {'flavors': [{'id': '0'}, {'id': '1'}]}
+ req = fakes.HTTPRequest.blank('/v3/fake/flavors',
+ use_admin_context=False)
+ result = self.flavor_controller.index(req)
+ self._verify_flavor_list(result['flavors'], expected['flavors'])
+
+ def test_list_flavor_with_no_admin_ispublic_true(self):
+ expected = {'flavors': [{'id': '0'}, {'id': '1'}]}
+ req = fakes.HTTPRequest.blank('/v3/fake/flavors?is_public=true',
+ use_admin_context=False)
+ result = self.flavor_controller.index(req)
+ self._verify_flavor_list(result['flavors'], expected['flavors'])
+
+ def test_list_flavor_with_no_admin_ispublic_false(self):
+ expected = {'flavors': [{'id': '0'}, {'id': '1'}]}
+ req = fakes.HTTPRequest.blank('/v3/fake/flavors?is_public=false',
+ use_admin_context=False)
+ result = self.flavor_controller.index(req)
+ self._verify_flavor_list(result['flavors'], expected['flavors'])
+
+ def test_list_flavor_with_no_admin_ispublic_none(self):
+ expected = {'flavors': [{'id': '0'}, {'id': '1'}]}
+ req = fakes.HTTPRequest.blank('/v3/fake/flavors?is_public=none',
+ use_admin_context=False)
+ result = self.flavor_controller.index(req)
+ self._verify_flavor_list(result['flavors'], expected['flavors'])
+
+ def test_show(self):
+ resp = FakeResponse()
+ self.flavor_action_controller.show(self.req, resp, '0')
+ self.assertEqual({'id': '0', 'os-flavor-access:is_public': True},
+ resp.obj['flavor'])
+ self.flavor_action_controller.show(self.req, resp, '2')
+ self.assertEqual({'id': '0', 'os-flavor-access:is_public': False},
+ resp.obj['flavor'])
+
+ def test_detail(self):
+ resp = FakeResponse()
+ self.flavor_action_controller.detail(self.req, resp)
+ self.assertEqual([{'id': '0', 'os-flavor-access:is_public': True},
+ {'id': '2', 'os-flavor-access:is_public': False}],
+ resp.obj['flavors'])
+
+ def test_create(self):
+ resp = FakeResponse()
+ self.flavor_action_controller.create(self.req, {}, resp)
+ self.assertEqual({'id': '0', 'os-flavor-access:is_public': True},
+ resp.obj['flavor'])
+
+ def test_add_tenant_access(self):
+ def stub_add_flavor_access(flavorid, projectid, ctxt=None):
+ self.assertEqual('3', flavorid, "flavorid")
+ self.assertEqual("proj2", projectid, "projectid")
+ self.stubs.Set(flavors, 'add_flavor_access',
+ stub_add_flavor_access)
+ expected = {'flavor_access':
+ [{'flavor_id': '3', 'tenant_id': 'proj3'}]}
+ body = {'addTenantAccess': {'tenant': 'proj2'}}
+ req = fakes.HTTPRequest.blank('/v3/fake/flavors/2/action',
+ use_admin_context=True)
+ result = self.flavor_action_controller.\
+ _addTenantAccess(req, '3', body)
+ self.assertEqual(result, expected)
+
+ def test_add_tenant_access_with_already_added_access(self):
+ def stub_add_flavor_access(flavorid, projectid, ctxt=None):
+ raise exception.FlavorAccessExists(flavor_id=flavorid,
+ project_id=projectid)
+ self.stubs.Set(flavors, 'add_flavor_access',
+ stub_add_flavor_access)
+ body = {'addTenantAccess': {'tenant': 'proj2'}}
+ req = fakes.HTTPRequest.blank('/v3/fake/flavors/2/action',
+ use_admin_context=True)
+ self.assertRaises(exc.HTTPConflict,
+ self.flavor_action_controller._addTenantAccess,
+ self.req, '3', body)
+
+ def test_remove_tenant_access_with_bad_access(self):
+ def stub_remove_flavor_access(flavorid, projectid, ctxt=None):
+ raise exception.FlavorAccessNotFound(flavor_id=flavorid,
+ project_id=projectid)
+ self.stubs.Set(flavors, 'remove_flavor_access',
+ stub_remove_flavor_access)
+ body = {'removeTenantAccess': {'tenant': 'proj2'}}
+ req = fakes.HTTPRequest.blank('/v3/fake/flavors/2/action',
+ use_admin_context=True)
+ self.assertRaises(exc.HTTPNotFound,
+ self.flavor_action_controller._removeTenantAccess,
+ self.req, '3', body)
+
+
+class FlavorAccessSerializerTest(test.TestCase):
+ def test_serializer_empty(self):
+ serializer = flavor_access.FlavorAccessTemplate()
+ text = serializer.serialize(dict(flavor_access=[]))
+ tree = etree.fromstring(text)
+ self.assertEqual(len(tree), 0)
+
+ def test_serializer(self):
+ expected = ("<?xml version='1.0' encoding='UTF-8'?>\n"
+ '<flavor_access>'
+ '<access tenant_id="proj2" flavor_id="2"/>'
+ '<access tenant_id="proj3" flavor_id="2"/>'
+ '</flavor_access>')
+ access_list = [{'flavor_id': '2', 'tenant_id': 'proj2'},
+ {'flavor_id': '2', 'tenant_id': 'proj3'}]
+
+ serializer = flavor_access.FlavorAccessTemplate()
+ text = serializer.serialize(dict(flavor_access=access_list))
+ self.assertEqual(text, expected)
diff --git a/nova/tests/api/openstack/compute/plugins/v3/test_flavor_disabled.py b/nova/tests/api/openstack/compute/plugins/v3/test_flavor_disabled.py
new file mode 100644
index 000000000..5ff7f4035
--- /dev/null
+++ b/nova/tests/api/openstack/compute/plugins/v3/test_flavor_disabled.py
@@ -0,0 +1,101 @@
+# Copyright 2012 Nebula, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from lxml import etree
+import webob
+
+from nova.api.openstack.compute.plugins.v3 import flavor_disabled
+from nova.compute import flavors
+from nova.openstack.common import jsonutils
+from nova import test
+from nova.tests.api.openstack import fakes
+
+FAKE_FLAVORS = {
+ 'flavor 1': {
+ "flavorid": '1',
+ "name": 'flavor 1',
+ "memory_mb": '256',
+ "root_gb": '10',
+ "disabled": False,
+ },
+ 'flavor 2': {
+ "flavorid": '2',
+ "name": 'flavor 2',
+ "memory_mb": '512',
+ "root_gb": '20',
+ "disabled": True,
+ },
+}
+
+
+def fake_flavor_get_by_flavor_id(flavorid):
+ return FAKE_FLAVORS['flavor %s' % flavorid]
+
+
+def fake_flavor_get_all(*args, **kwargs):
+ return FAKE_FLAVORS
+
+
+class FlavorDisabledTest(test.TestCase):
+ content_type = 'application/json'
+ prefix = '%s:' % flavor_disabled.FlavorDisabled.alias
+
+ def setUp(self):
+ super(FlavorDisabledTest, self).setUp()
+ fakes.stub_out_nw_api(self.stubs)
+ self.stubs.Set(flavors, "get_all_flavors",
+ fake_flavor_get_all)
+ self.stubs.Set(flavors,
+ "get_flavor_by_flavor_id",
+ fake_flavor_get_by_flavor_id)
+
+ def _make_request(self, url):
+ req = webob.Request.blank(url)
+ req.headers['Accept'] = self.content_type
+ app = fakes.wsgi_app_v3(init_only=('servers', 'flavors',
+ 'os-flavor-disabled'))
+ return req.get_response(app)
+
+ def _get_flavor(self, body):
+ return jsonutils.loads(body).get('flavor')
+
+ def _get_flavors(self, body):
+ return jsonutils.loads(body).get('flavors')
+
+ def assertFlavorDisabled(self, flavor, disabled):
+ self.assertEqual(str(flavor.get('%sdisabled' % self.prefix)), disabled)
+
+ def test_show(self):
+ res = self._make_request('/v3/flavors/1')
+ self.assertEqual(res.status_int, 200, res.body)
+ self.assertFlavorDisabled(self._get_flavor(res.body), 'False')
+
+ def test_detail(self):
+ res = self._make_request('/v3/flavors/detail')
+
+ self.assertEqual(res.status_int, 200, res.body)
+ flavors = self._get_flavors(res.body)
+ self.assertFlavorDisabled(flavors[0], 'False')
+ self.assertFlavorDisabled(flavors[1], 'True')
+
+
+class FlavorDisabledXmlTest(FlavorDisabledTest):
+ content_type = 'application/xml'
+ prefix = '{%s}' % flavor_disabled.FlavorDisabled.namespace
+
+ def _get_flavor(self, body):
+ return etree.XML(body)
+
+ def _get_flavors(self, body):
+ return etree.XML(body).getchildren()
diff --git a/nova/tests/api/openstack/compute/plugins/v3/test_flavors.py b/nova/tests/api/openstack/compute/plugins/v3/test_flavors.py
new file mode 100644
index 000000000..d204af11f
--- /dev/null
+++ b/nova/tests/api/openstack/compute/plugins/v3/test_flavors.py
@@ -0,0 +1,696 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2012 OpenStack Foundation
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from lxml import etree
+import webob
+
+import urlparse
+
+from nova.api.openstack.compute.plugins.v3 import flavors
+from nova.api.openstack import xmlutil
+import nova.compute.flavors
+from nova import context
+from nova import db
+from nova import exception
+from nova import test
+from nova.tests.api.openstack import fakes
+from nova.tests import matchers
+
+NS = "{http://docs.openstack.org/compute/api/v1.1}"
+ATOMNS = "{http://www.w3.org/2005/Atom}"
+
+
+FAKE_FLAVORS = {
+ 'flavor 1': {
+ "flavorid": '1',
+ "name": 'flavor 1',
+ "memory_mb": '256',
+ "root_gb": '10',
+ },
+ 'flavor 2': {
+ "flavorid": '2',
+ "name": 'flavor 2',
+ "memory_mb": '512',
+ "root_gb": '20',
+ },
+}
+
+
+def fake_flavor_get_by_flavor_id(flavorid):
+ return FAKE_FLAVORS['flavor %s' % flavorid]
+
+
+def fake_flavor_get_all(inactive=False, filters=None):
+ def reject_min(db_attr, filter_attr):
+ return (filter_attr in filters and
+ int(flavor[db_attr]) < int(filters[filter_attr]))
+
+ filters = filters or {}
+ output = {}
+ for (flavor_name, flavor) in FAKE_FLAVORS.items():
+ if reject_min('memory_mb', 'min_memory_mb'):
+ continue
+ elif reject_min('root_gb', 'min_root_gb'):
+ continue
+
+ output[flavor_name] = flavor
+
+ return output
+
+
+def empty_flavor_get_all(inactive=False, filters=None):
+ return {}
+
+
+def return_flavor_not_found(flavor_id):
+ raise exception.InstanceTypeNotFound(instance_type_id=flavor_id)
+
+
+class FlavorsTest(test.TestCase):
+ def setUp(self):
+ super(FlavorsTest, self).setUp()
+ self.flags(osapi_compute_extension=[])
+ fakes.stub_out_networking(self.stubs)
+ fakes.stub_out_rate_limiting(self.stubs)
+ self.stubs.Set(nova.compute.flavors, "get_all_flavors",
+ fake_flavor_get_all)
+ self.stubs.Set(nova.compute.flavors,
+ "get_flavor_by_flavor_id",
+ fake_flavor_get_by_flavor_id)
+
+ self.controller = flavors.FlavorsController()
+
+ def test_get_flavor_by_invalid_id(self):
+ self.stubs.Set(nova.compute.flavors,
+ "get_flavor_by_flavor_id",
+ return_flavor_not_found)
+ req = fakes.HTTPRequestV3.blank('/flavors/asdf')
+ self.assertRaises(webob.exc.HTTPNotFound,
+ self.controller.show, req, 'asdf')
+
+ def test_get_flavor_by_id(self):
+ req = fakes.HTTPRequestV3.blank('/flavors/1')
+ flavor = self.controller.show(req, '1')
+ expected = {
+ "flavor": {
+ "id": "1",
+ "name": "flavor 1",
+ "ram": "256",
+ "disk": "10",
+ "vcpus": "",
+ "links": [
+ {
+ "rel": "self",
+ "href": "http://localhost/v3/flavors/1",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/flavors/1",
+ },
+ ],
+ },
+ }
+ self.assertEqual(flavor, expected)
+
+ def test_get_flavor_with_custom_link_prefix(self):
+ self.flags(osapi_compute_link_prefix='http://zoo.com:42',
+ osapi_glance_link_prefix='http://circus.com:34')
+ req = fakes.HTTPRequestV3.blank('/flavors/1')
+ flavor = self.controller.show(req, '1')
+ expected = {
+ "flavor": {
+ "id": "1",
+ "name": "flavor 1",
+ "ram": "256",
+ "disk": "10",
+ "vcpus": "",
+ "links": [
+ {
+ "rel": "self",
+ "href": "http://zoo.com:42/v3/flavors/1",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://zoo.com:42/flavors/1",
+ },
+ ],
+ },
+ }
+ self.assertEqual(flavor, expected)
+
+ def test_get_flavor_list(self):
+ req = fakes.HTTPRequestV3.blank('/flavors')
+ flavor = self.controller.index(req)
+ expected = {
+ "flavors": [
+ {
+ "id": "1",
+ "name": "flavor 1",
+ "links": [
+ {
+ "rel": "self",
+ "href": "http://localhost/v3/flavors/1",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/flavors/1",
+ },
+ ],
+ },
+ {
+ "id": "2",
+ "name": "flavor 2",
+ "links": [
+ {
+ "rel": "self",
+ "href": "http://localhost/v3/flavors/2",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/flavors/2",
+ },
+ ],
+ },
+ ],
+ }
+ self.assertEqual(flavor, expected)
+
+ def test_get_flavor_list_with_marker(self):
+ self.maxDiff = None
+ req = fakes.HTTPRequestV3.blank('/flavors?limit=1&marker=1')
+ flavor = self.controller.index(req)
+ expected = {
+ "flavors": [
+ {
+ "id": "2",
+ "name": "flavor 2",
+ "links": [
+ {
+ "rel": "self",
+ "href": "http://localhost/v3/flavors/2",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/flavors/2",
+ },
+ ],
+ },
+ ],
+ 'flavors_links': [
+ {'href': 'http://localhost/v3/flavors?limit=1&marker=2',
+ 'rel': 'next'}
+ ]
+ }
+ self.assertThat(flavor, matchers.DictMatches(expected))
+
+ def test_get_flavor_detail_with_limit(self):
+ req = fakes.HTTPRequestV3.blank('/flavors/detail?limit=1')
+ response = self.controller.index(req)
+ response_list = response["flavors"]
+ response_links = response["flavors_links"]
+
+ expected_flavors = [
+ {
+ "id": "1",
+ "name": "flavor 1",
+ "links": [
+ {
+ "rel": "self",
+ "href": "http://localhost/v3/flavors/1",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/flavors/1",
+ },
+ ],
+ },
+ ]
+ self.assertEqual(response_list, expected_flavors)
+ self.assertEqual(response_links[0]['rel'], 'next')
+
+ href_parts = urlparse.urlparse(response_links[0]['href'])
+ self.assertEqual('/v3/flavors', href_parts.path)
+ params = urlparse.parse_qs(href_parts.query)
+ self.assertThat({'limit': ['1'], 'marker': ['1']},
+ matchers.DictMatches(params))
+
+ def test_get_flavor_with_limit(self):
+ req = fakes.HTTPRequestV3.blank('/flavors?limit=2')
+ response = self.controller.index(req)
+ response_list = response["flavors"]
+ response_links = response["flavors_links"]
+
+ expected_flavors = [
+ {
+ "id": "1",
+ "name": "flavor 1",
+ "links": [
+ {
+ "rel": "self",
+ "href": "http://localhost/v3/flavors/1",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/flavors/1",
+ },
+ ],
+ },
+ {
+ "id": "2",
+ "name": "flavor 2",
+ "links": [
+ {
+ "rel": "self",
+ "href": "http://localhost/v3/flavors/2",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/flavors/2",
+ },
+ ],
+ }
+ ]
+ self.assertEqual(response_list, expected_flavors)
+ self.assertEqual(response_links[0]['rel'], 'next')
+
+ href_parts = urlparse.urlparse(response_links[0]['href'])
+ self.assertEqual('/v3/flavors', href_parts.path)
+ params = urlparse.parse_qs(href_parts.query)
+ self.assertThat({'limit': ['2'], 'marker': ['2']},
+ matchers.DictMatches(params))
+
+ def test_get_flavor_list_detail(self):
+ req = fakes.HTTPRequestV3.blank('/flavors/detail')
+ flavor = self.controller.detail(req)
+ expected = {
+ "flavors": [
+ {
+ "id": "1",
+ "name": "flavor 1",
+ "ram": "256",
+ "disk": "10",
+ "vcpus": "",
+ "links": [
+ {
+ "rel": "self",
+ "href": "http://localhost/v3/flavors/1",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/flavors/1",
+ },
+ ],
+ },
+ {
+ "id": "2",
+ "name": "flavor 2",
+ "ram": "512",
+ "disk": "20",
+ "vcpus": "",
+ "links": [
+ {
+ "rel": "self",
+ "href": "http://localhost/v3/flavors/2",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/flavors/2",
+ },
+ ],
+ },
+ ],
+ }
+ self.assertEqual(flavor, expected)
+
+ def test_get_empty_flavor_list(self):
+ self.stubs.Set(nova.compute.flavors, "get_all_flavors",
+ empty_flavor_get_all)
+
+ req = fakes.HTTPRequestV3.blank('/flavors')
+ flavors = self.controller.index(req)
+ expected = {'flavors': []}
+ self.assertEqual(flavors, expected)
+
+ def test_get_flavor_list_filter_min_ram(self):
+ # Flavor lists may be filtered by minRam.
+ req = fakes.HTTPRequestV3.blank('/flavors?minRam=512')
+ flavor = self.controller.index(req)
+ expected = {
+ "flavors": [
+ {
+ "id": "2",
+ "name": "flavor 2",
+ "links": [
+ {
+ "rel": "self",
+ "href": "http://localhost/v3/flavors/2",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/flavors/2",
+ },
+ ],
+ },
+ ],
+ }
+ self.assertEqual(flavor, expected)
+
+ def test_get_flavor_list_filter_invalid_min_ram(self):
+ # Ensure you cannot list flavors with invalid minRam param.
+ req = fakes.HTTPRequestV3.blank('/flavors?minRam=NaN')
+ self.assertRaises(webob.exc.HTTPBadRequest,
+ self.controller.index, req)
+
+ def test_get_flavor_list_filter_min_disk(self):
+ # Flavor lists may be filtered by minDisk.
+ req = fakes.HTTPRequestV3.blank('/flavors?minDisk=20')
+ flavor = self.controller.index(req)
+ expected = {
+ "flavors": [
+ {
+ "id": "2",
+ "name": "flavor 2",
+ "links": [
+ {
+ "rel": "self",
+ "href": "http://localhost/v3/flavors/2",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/flavors/2",
+ },
+ ],
+ },
+ ],
+ }
+ self.assertEqual(flavor, expected)
+
+ def test_get_flavor_list_filter_invalid_min_disk(self):
+ # Ensure you cannot list flavors with invalid minDisk param.
+ req = fakes.HTTPRequestV3.blank('/flavors?minDisk=NaN')
+ self.assertRaises(webob.exc.HTTPBadRequest,
+ self.controller.index, req)
+
+ def test_get_flavor_list_detail_min_ram_and_min_disk(self):
+ """Tests that filtering work on flavor details and that minRam and
+ minDisk filters can be combined
+ """
+ req = fakes.HTTPRequestV3.blank('/flavors/detail'
+ '?minRam=256&minDisk=20')
+ flavor = self.controller.detail(req)
+ expected = {
+ "flavors": [
+ {
+ "id": "2",
+ "name": "flavor 2",
+ "ram": "512",
+ "disk": "20",
+ "vcpus": "",
+ "links": [
+ {
+ "rel": "self",
+ "href": "http://localhost/v3/flavors/2",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/flavors/2",
+ },
+ ],
+ },
+ ],
+ }
+ self.assertEqual(flavor, expected)
+
+
+class FlavorsXMLSerializationTest(test.TestCase):
+ def _create_flavor(self):
+ id = 0
+ while True:
+ id += 1
+ yield {
+ "id": str(id),
+ "name": "asdf",
+ "ram": "256",
+ "disk": "10",
+ "vcpus": "",
+ "swap": "512",
+ "links": [
+ {
+ "rel": "self",
+ "href": "http://localhost/v3/flavors/%s" % id,
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/flavors/%s" % id,
+ },
+ ],
+ }
+
+ def setUp(self):
+ super(FlavorsXMLSerializationTest, self).setUp()
+ self.flavors = self._create_flavor()
+
+ def test_xml_declaration(self):
+ serializer = flavors.FlavorTemplate()
+ fixture = {'flavor': next(self.flavors)}
+ output = serializer.serialize(fixture)
+ has_dec = output.startswith("<?xml version='1.0' encoding='UTF-8'?>")
+ self.assertTrue(has_dec)
+
+ def test_show(self):
+ serializer = flavors.FlavorTemplate()
+
+ fixture = {'flavor': next(self.flavors)}
+ output = serializer.serialize(fixture)
+ root = etree.XML(output)
+ xmlutil.validate_schema(root, 'flavor', version='v3')
+ flavor_dict = fixture['flavor']
+
+ for key in ['name', 'id', 'ram', 'disk']:
+ self.assertEqual(root.get(key), str(flavor_dict[key]))
+
+ link_nodes = root.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(flavor_dict['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
+
+ def test_show_handles_integers(self):
+ serializer = flavors.FlavorTemplate()
+
+ fixture = {'flavor': next(self.flavors)}
+ output = serializer.serialize(fixture)
+ root = etree.XML(output)
+ xmlutil.validate_schema(root, 'flavor', version='v3')
+ flavor_dict = fixture['flavor']
+
+ for key in ['name', 'id', 'ram', 'disk']:
+ self.assertEqual(root.get(key), str(flavor_dict[key]))
+
+ link_nodes = root.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(flavor_dict['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
+
+ def test_detail(self):
+ serializer = flavors.FlavorsTemplate()
+
+ fixture = {
+ "flavors": [
+ next(self.flavors),
+ next(self.flavors),
+ ],
+ }
+
+ output = serializer.serialize(fixture)
+ root = etree.XML(output)
+ xmlutil.validate_schema(root, 'flavors', version='v3')
+ flavor_elems = root.findall('{0}flavor'.format(NS))
+ self.assertEqual(len(flavor_elems), 2)
+ for i, flavor_elem in enumerate(flavor_elems):
+ flavor_dict = fixture['flavors'][i]
+
+ for key in ['name', 'id', 'ram', 'disk']:
+ self.assertEqual(flavor_elem.get(key), str(flavor_dict[key]))
+
+ link_nodes = flavor_elem.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(flavor_dict['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
+
+ def test_index(self):
+ serializer = flavors.MinimalFlavorsTemplate()
+
+ fixture = {
+ "flavors": [
+ next(self.flavors),
+ next(self.flavors),
+ ],
+ }
+
+ output = serializer.serialize(fixture)
+ root = etree.XML(output)
+ xmlutil.validate_schema(root, 'flavors_index')
+ flavor_elems = root.findall('{0}flavor'.format(NS))
+ self.assertEqual(len(flavor_elems), 2)
+ for i, flavor_elem in enumerate(flavor_elems):
+ flavor_dict = fixture['flavors'][i]
+
+ for key in ['name', 'id']:
+ self.assertEqual(flavor_elem.get(key), str(flavor_dict[key]))
+
+ link_nodes = flavor_elem.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(flavor_dict['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
+
+ def test_index_empty(self):
+ serializer = flavors.MinimalFlavorsTemplate()
+
+ fixture = {
+ "flavors": [],
+ }
+
+ output = serializer.serialize(fixture)
+ root = etree.XML(output)
+ xmlutil.validate_schema(root, 'flavors_index')
+ flavor_elems = root.findall('{0}flavor'.format(NS))
+ self.assertEqual(len(flavor_elems), 0)
+
+
+class DisabledFlavorsWithRealDBTest(test.TestCase):
+ """
+ Tests that disabled flavors should not be shown nor listed.
+ """
+ def setUp(self):
+ super(DisabledFlavorsWithRealDBTest, self).setUp()
+ self.controller = flavors.FlavorsController()
+
+ # Add a new disabled type to the list of flavors
+ self.req = fakes.HTTPRequestV3.blank('/flavors')
+ self.context = self.req.environ['nova.context']
+ self.admin_context = context.get_admin_context()
+
+ self.disabled_type = self._create_disabled_instance_type()
+ self.inst_types = db.api.instance_type_get_all(self.admin_context)
+
+ def tearDown(self):
+ db.api.instance_type_destroy(self.admin_context,
+ self.disabled_type['name'])
+
+ super(DisabledFlavorsWithRealDBTest, self).tearDown()
+
+ def _create_disabled_instance_type(self):
+ inst_types = db.api.instance_type_get_all(self.admin_context)
+
+ inst_type = inst_types[0]
+
+ del inst_type['id']
+ inst_type['name'] += '.disabled'
+ inst_type['flavorid'] = unicode(max(
+ [int(flavor['flavorid']) for flavor in inst_types]) + 1)
+ inst_type['disabled'] = True
+
+ disabled_type = db.api.instance_type_create(self.admin_context,
+ inst_type)
+
+ return disabled_type
+
+ def test_index_should_not_list_disabled_flavors_to_user(self):
+ self.context.is_admin = False
+
+ flavor_list = self.controller.index(self.req)['flavors']
+ api_flavorids = set(f['id'] for f in flavor_list)
+
+ db_flavorids = set(i['flavorid'] for i in self.inst_types)
+ disabled_flavorid = str(self.disabled_type['flavorid'])
+
+ self.assert_(disabled_flavorid in db_flavorids)
+ self.assertEqual(db_flavorids - set([disabled_flavorid]),
+ api_flavorids)
+
+ def test_index_should_list_disabled_flavors_to_admin(self):
+ self.context.is_admin = True
+
+ flavor_list = self.controller.index(self.req)['flavors']
+ api_flavorids = set(f['id'] for f in flavor_list)
+
+ db_flavorids = set(i['flavorid'] for i in self.inst_types)
+ disabled_flavorid = str(self.disabled_type['flavorid'])
+
+ self.assert_(disabled_flavorid in db_flavorids)
+ self.assertEqual(db_flavorids, api_flavorids)
+
+ def test_show_should_include_disabled_flavor_for_user(self):
+ """
+ Counterintuitively we should show disabled flavors to all users and not
+ just admins. The reason is that, when a user performs a server-show
+ request, we want to be able to display the pretty flavor name ('512 MB
+ Instance') and not just the flavor-id even if the flavor id has been
+ marked disabled.
+ """
+ self.context.is_admin = False
+
+ flavor = self.controller.show(
+ self.req, self.disabled_type['flavorid'])['flavor']
+
+ self.assertEqual(flavor['name'], self.disabled_type['name'])
+
+ def test_show_should_include_disabled_flavor_for_admin(self):
+ self.context.is_admin = True
+
+ flavor = self.controller.show(
+ self.req, self.disabled_type['flavorid'])['flavor']
+
+ self.assertEqual(flavor['name'], self.disabled_type['name'])
+
+
+class ParseIsPublicTest(test.TestCase):
+ def setUp(self):
+ super(ParseIsPublicTest, self).setUp()
+ self.controller = flavors.FlavorsController()
+
+ def assertPublic(self, expected, is_public):
+ self.assertIs(expected, self.controller._parse_is_public(is_public),
+ '%s did not return %s' % (is_public, expected))
+
+ def test_None(self):
+ self.assertPublic(True, None)
+
+ def test_truthy(self):
+ self.assertPublic(True, True)
+ self.assertPublic(True, 't')
+ self.assertPublic(True, 'true')
+ self.assertPublic(True, 'yes')
+ self.assertPublic(True, '1')
+
+ def test_falsey(self):
+ self.assertPublic(False, False)
+ self.assertPublic(False, 'f')
+ self.assertPublic(False, 'false')
+ self.assertPublic(False, 'no')
+ self.assertPublic(False, '0')
+
+ def test_string_none(self):
+ self.assertPublic(None, 'none')
+
+ def test_other(self):
+ self.assertRaises(
+ webob.exc.HTTPBadRequest, self.assertPublic, None, 'other')
diff --git a/nova/tests/api/openstack/compute/plugins/v3/test_images.py b/nova/tests/api/openstack/compute/plugins/v3/test_images.py
new file mode 100644
index 000000000..712e3c8a5
--- /dev/null
+++ b/nova/tests/api/openstack/compute/plugins/v3/test_images.py
@@ -0,0 +1,1336 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2010 OpenStack Foundation
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+"""
+Tests of the new image services, both as a service layer,
+and as a WSGI layer
+"""
+
+import urlparse
+
+from lxml import etree
+import webob
+
+from nova.api.openstack.compute.plugins.v3 import images
+from nova.api.openstack.compute.views import images as images_view
+from nova.api.openstack import xmlutil
+from nova import exception
+from nova.image import glance
+from nova import test
+from nova.tests.api.openstack import fakes
+from nova.tests import matchers
+
+NS = "{http://docs.openstack.org/compute/api/v1.1}"
+ATOMNS = "{http://www.w3.org/2005/Atom}"
+NOW_API_FORMAT = "2010-10-11T10:30:22Z"
+
+
+class ImagesControllerTest(test.TestCase):
+ """
+ Test of the OpenStack API /images application controller w/Glance.
+ """
+
+ def setUp(self):
+ """Run before each test."""
+ super(ImagesControllerTest, self).setUp()
+ fakes.stub_out_networking(self.stubs)
+ fakes.stub_out_rate_limiting(self.stubs)
+ fakes.stub_out_key_pair_funcs(self.stubs)
+ fakes.stub_out_compute_api_snapshot(self.stubs)
+ fakes.stub_out_compute_api_backup(self.stubs)
+ fakes.stub_out_glance(self.stubs)
+
+ self.controller = images.ImagesController()
+
+ def test_get_image(self):
+ fake_req = fakes.HTTPRequestV3.blank('/os-images/123')
+ actual_image = self.controller.show(fake_req, '124')
+
+ href = "http://localhost/v3/images/124"
+ bookmark = "http://localhost/images/124"
+ alternate = "%s/fake/images/124" % glance.generate_glance_url()
+ server_uuid = "aa640691-d1a7-4a67-9d3c-d35ee6b3cc74"
+ server_href = "http://localhost/v3/servers/" + server_uuid
+ server_bookmark = "http://localhost/servers/" + server_uuid
+
+ expected_image = {
+ "image": {
+ "id": "124",
+ "name": "queued snapshot",
+ "updated": NOW_API_FORMAT,
+ "created": NOW_API_FORMAT,
+ "status": "SAVING",
+ "progress": 25,
+ "minDisk": 0,
+ "minRam": 0,
+ 'server': {
+ 'id': server_uuid,
+ "links": [{
+ "rel": "self",
+ "href": server_href,
+ },
+ {
+ "rel": "bookmark",
+ "href": server_bookmark,
+ }],
+ },
+ "metadata": {
+ "instance_uuid": server_uuid,
+ "user_id": "fake",
+ },
+ "links": [{
+ "rel": "self",
+ "href": href,
+ },
+ {
+ "rel": "bookmark",
+ "href": bookmark,
+ },
+ {
+ "rel": "alternate",
+ "type": "application/vnd.openstack.image",
+ "href": alternate
+ }],
+ },
+ }
+
+ self.assertThat(actual_image, matchers.DictMatches(expected_image))
+
+ def test_get_image_with_custom_prefix(self):
+ self.flags(osapi_compute_link_prefix='https://zoo.com:42',
+ osapi_glance_link_prefix='http://circus.com:34')
+ fake_req = fakes.HTTPRequestV3.blank('/v3/os-images/124')
+ actual_image = self.controller.show(fake_req, '124')
+ href = "https://zoo.com:42/v3/images/124"
+ bookmark = "https://zoo.com:42/images/124"
+ alternate = "http://circus.com:34/fake/images/124"
+ server_uuid = "aa640691-d1a7-4a67-9d3c-d35ee6b3cc74"
+ server_href = "https://zoo.com:42/v3/servers/" + server_uuid
+ server_bookmark = "https://zoo.com:42/servers/" + server_uuid
+
+ expected_image = {
+ "image": {
+ "id": "124",
+ "name": "queued snapshot",
+ "updated": NOW_API_FORMAT,
+ "created": NOW_API_FORMAT,
+ "status": "SAVING",
+ "progress": 25,
+ "minDisk": 0,
+ "minRam": 0,
+ 'server': {
+ 'id': server_uuid,
+ "links": [{
+ "rel": "self",
+ "href": server_href,
+ },
+ {
+ "rel": "bookmark",
+ "href": server_bookmark,
+ }],
+ },
+ "metadata": {
+ "instance_uuid": server_uuid,
+ "user_id": "fake",
+ },
+ "links": [{
+ "rel": "self",
+ "href": href,
+ },
+ {
+ "rel": "bookmark",
+ "href": bookmark,
+ },
+ {
+ "rel": "alternate",
+ "type": "application/vnd.openstack.image",
+ "href": alternate
+ }],
+ },
+ }
+ self.assertThat(actual_image, matchers.DictMatches(expected_image))
+
+ def test_get_image_404(self):
+ fake_req = fakes.HTTPRequestV3.blank('/os-images/unknown')
+ self.assertRaises(webob.exc.HTTPNotFound,
+ self.controller.show, fake_req, 'unknown')
+
+ def test_get_image_details(self):
+ request = fakes.HTTPRequestV3.blank('/os-images/detail')
+ response = self.controller.detail(request)
+ response_list = response["images"]
+
+ server_uuid = "aa640691-d1a7-4a67-9d3c-d35ee6b3cc74"
+ server_href = "http://localhost/v3/servers/" + server_uuid
+ server_bookmark = "http://localhost/servers/" + server_uuid
+ alternate = "%s/fake/images/%s"
+
+ expected = [{
+ 'id': '123',
+ 'name': 'public image',
+ 'metadata': {'key1': 'value1'},
+ 'updated': NOW_API_FORMAT,
+ 'created': NOW_API_FORMAT,
+ 'status': 'ACTIVE',
+ 'progress': 100,
+ 'minDisk': 10,
+ 'minRam': 128,
+ "links": [{
+ "rel": "self",
+ "href": "http://localhost/v3/images/123",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/images/123",
+ },
+ {
+ "rel": "alternate",
+ "type": "application/vnd.openstack.image",
+ "href": alternate % (glance.generate_glance_url(), 123),
+ }],
+ },
+ {
+ 'id': '124',
+ 'name': 'queued snapshot',
+ 'metadata': {
+ u'instance_uuid': server_uuid,
+ u'user_id': u'fake',
+ },
+ 'updated': NOW_API_FORMAT,
+ 'created': NOW_API_FORMAT,
+ 'status': 'SAVING',
+ 'progress': 25,
+ 'minDisk': 0,
+ 'minRam': 0,
+ 'server': {
+ 'id': server_uuid,
+ "links": [{
+ "rel": "self",
+ "href": server_href,
+ },
+ {
+ "rel": "bookmark",
+ "href": server_bookmark,
+ }],
+ },
+ "links": [{
+ "rel": "self",
+ "href": "http://localhost/v3/images/124",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/images/124",
+ },
+ {
+ "rel": "alternate",
+ "type": "application/vnd.openstack.image",
+ "href": alternate % (glance.generate_glance_url(), 124),
+ }],
+ },
+ {
+ 'id': '125',
+ 'name': 'saving snapshot',
+ 'metadata': {
+ u'instance_uuid': server_uuid,
+ u'user_id': u'fake',
+ },
+ 'updated': NOW_API_FORMAT,
+ 'created': NOW_API_FORMAT,
+ 'status': 'SAVING',
+ 'progress': 50,
+ 'minDisk': 0,
+ 'minRam': 0,
+ 'server': {
+ 'id': server_uuid,
+ "links": [{
+ "rel": "self",
+ "href": server_href,
+ },
+ {
+ "rel": "bookmark",
+ "href": server_bookmark,
+ }],
+ },
+ "links": [{
+ "rel": "self",
+ "href": "http://localhost/v3/images/125",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/images/125",
+ },
+ {
+ "rel": "alternate",
+ "type": "application/vnd.openstack.image",
+ "href": "%s/fake/images/125" % glance.generate_glance_url()
+ }],
+ },
+ {
+ 'id': '126',
+ 'name': 'active snapshot',
+ 'metadata': {
+ u'instance_uuid': server_uuid,
+ u'user_id': u'fake',
+ },
+ 'updated': NOW_API_FORMAT,
+ 'created': NOW_API_FORMAT,
+ 'status': 'ACTIVE',
+ 'progress': 100,
+ 'minDisk': 0,
+ 'minRam': 0,
+ 'server': {
+ 'id': server_uuid,
+ "links": [{
+ "rel": "self",
+ "href": server_href,
+ },
+ {
+ "rel": "bookmark",
+ "href": server_bookmark,
+ }],
+ },
+ "links": [{
+ "rel": "self",
+ "href": "http://localhost/v3/images/126",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/images/126",
+ },
+ {
+ "rel": "alternate",
+ "type": "application/vnd.openstack.image",
+ "href": "%s/fake/images/126" % glance.generate_glance_url()
+ }],
+ },
+ {
+ 'id': '127',
+ 'name': 'killed snapshot',
+ 'metadata': {
+ u'instance_uuid': server_uuid,
+ u'user_id': u'fake',
+ },
+ 'updated': NOW_API_FORMAT,
+ 'created': NOW_API_FORMAT,
+ 'status': 'ERROR',
+ 'progress': 0,
+ 'minDisk': 0,
+ 'minRam': 0,
+ 'server': {
+ 'id': server_uuid,
+ "links": [{
+ "rel": "self",
+ "href": server_href,
+ },
+ {
+ "rel": "bookmark",
+ "href": server_bookmark,
+ }],
+ },
+ "links": [{
+ "rel": "self",
+ "href": "http://localhost/v3/images/127",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/images/127",
+ },
+ {
+ "rel": "alternate",
+ "type": "application/vnd.openstack.image",
+ "href": "%s/fake/images/127" % glance.generate_glance_url()
+ }],
+ },
+ {
+ 'id': '128',
+ 'name': 'deleted snapshot',
+ 'metadata': {
+ u'instance_uuid': server_uuid,
+ u'user_id': u'fake',
+ },
+ 'updated': NOW_API_FORMAT,
+ 'created': NOW_API_FORMAT,
+ 'status': 'DELETED',
+ 'progress': 0,
+ 'minDisk': 0,
+ 'minRam': 0,
+ 'server': {
+ 'id': server_uuid,
+ "links": [{
+ "rel": "self",
+ "href": server_href,
+ },
+ {
+ "rel": "bookmark",
+ "href": server_bookmark,
+ }],
+ },
+ "links": [{
+ "rel": "self",
+ "href": "http://localhost/v3/images/128",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/images/128",
+ },
+ {
+ "rel": "alternate",
+ "type": "application/vnd.openstack.image",
+ "href": "%s/fake/images/128" % glance.generate_glance_url()
+ }],
+ },
+ {
+ 'id': '129',
+ 'name': 'pending_delete snapshot',
+ 'metadata': {
+ u'instance_uuid': server_uuid,
+ u'user_id': u'fake',
+ },
+ 'updated': NOW_API_FORMAT,
+ 'created': NOW_API_FORMAT,
+ 'status': 'DELETED',
+ 'progress': 0,
+ 'minDisk': 0,
+ 'minRam': 0,
+ 'server': {
+ 'id': server_uuid,
+ "links": [{
+ "rel": "self",
+ "href": server_href,
+ },
+ {
+ "rel": "bookmark",
+ "href": server_bookmark,
+ }],
+ },
+ "links": [{
+ "rel": "self",
+ "href": "http://localhost/v3/images/129",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/images/129",
+ },
+ {
+ "rel": "alternate",
+ "type": "application/vnd.openstack.image",
+ "href": "%s/fake/images/129" % glance.generate_glance_url()
+ }],
+ },
+ {
+ 'id': '130',
+ 'name': None,
+ 'metadata': {},
+ 'updated': NOW_API_FORMAT,
+ 'created': NOW_API_FORMAT,
+ 'status': 'ACTIVE',
+ 'progress': 100,
+ 'minDisk': 0,
+ 'minRam': 0,
+ "links": [{
+ "rel": "self",
+ "href": "http://localhost/v3/images/130",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/images/130",
+ },
+ {
+ "rel": "alternate",
+ "type": "application/vnd.openstack.image",
+ "href": "%s/fake/images/130" % glance.generate_glance_url()
+ }],
+ },
+ ]
+
+ self.assertThat(expected, matchers.DictListMatches(response_list))
+
+ def test_get_image_details_with_limit(self):
+ request = fakes.HTTPRequestV3.blank('/os-images/detail?limit=2')
+ response = self.controller.detail(request)
+ response_list = response["images"]
+ response_links = response["images_links"]
+
+ server_uuid = "aa640691-d1a7-4a67-9d3c-d35ee6b3cc74"
+ server_href = "http://localhost/v3/servers/" + server_uuid
+ server_bookmark = "http://localhost/servers/" + server_uuid
+ alternate = "%s/fake/images/%s"
+
+ expected = [{
+ 'id': '123',
+ 'name': 'public image',
+ 'metadata': {'key1': 'value1'},
+ 'updated': NOW_API_FORMAT,
+ 'created': NOW_API_FORMAT,
+ 'status': 'ACTIVE',
+ 'minDisk': 10,
+ 'progress': 100,
+ 'minRam': 128,
+ "links": [{
+ "rel": "self",
+ "href": "http://localhost/v3/images/123",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/images/123",
+ },
+ {
+ "rel": "alternate",
+ "type": "application/vnd.openstack.image",
+ "href": alternate % (glance.generate_glance_url(), 123),
+ }],
+ },
+ {
+ 'id': '124',
+ 'name': 'queued snapshot',
+ 'metadata': {
+ u'instance_uuid': server_uuid,
+ u'user_id': u'fake',
+ },
+ 'updated': NOW_API_FORMAT,
+ 'created': NOW_API_FORMAT,
+ 'status': 'SAVING',
+ 'minDisk': 0,
+ 'progress': 25,
+ 'minRam': 0,
+ 'server': {
+ 'id': server_uuid,
+ "links": [{
+ "rel": "self",
+ "href": server_href,
+ },
+ {
+ "rel": "bookmark",
+ "href": server_bookmark,
+ }],
+ },
+ "links": [{
+ "rel": "self",
+ "href": "http://localhost/v3/images/124",
+ },
+ {
+ "rel": "bookmark",
+ "href": "http://localhost/images/124",
+ },
+ {
+ "rel": "alternate",
+ "type": "application/vnd.openstack.image",
+ "href": alternate % (glance.generate_glance_url(), 124),
+ }],
+ }]
+
+ self.assertThat(expected, matchers.DictListMatches(response_list))
+
+ href_parts = urlparse.urlparse(response_links[0]['href'])
+ self.assertEqual('/v3/images', href_parts.path)
+ params = urlparse.parse_qs(href_parts.query)
+
+ self.assertThat({'limit': ['2'], 'marker': ['124']},
+ matchers.DictMatches(params))
+
+ def test_image_detail_filter_with_name(self):
+ image_service = self.mox.CreateMockAnything()
+ filters = {'name': 'testname'}
+ request = fakes.HTTPRequestV3.blank('/v3/os-images/detail'
+ '?name=testname')
+ context = request.environ['nova.context']
+ image_service.detail(context, filters=filters).AndReturn([])
+ self.mox.ReplayAll()
+ controller = images.ImagesController(image_service=image_service)
+ controller.detail(request)
+
+ def test_image_detail_filter_with_status(self):
+ image_service = self.mox.CreateMockAnything()
+ filters = {'status': 'active'}
+ request = fakes.HTTPRequestV3.blank('/v3/os-images/detail'
+ '?status=ACTIVE')
+ context = request.environ['nova.context']
+ image_service.detail(context, filters=filters).AndReturn([])
+ self.mox.ReplayAll()
+ controller = images.ImagesController(image_service=image_service)
+ controller.detail(request)
+
+ def test_image_detail_filter_with_property(self):
+ image_service = self.mox.CreateMockAnything()
+ filters = {'property-test': '3'}
+ request = fakes.HTTPRequestV3.blank('/v3/os-images/detail'
+ '?property-test=3')
+ context = request.environ['nova.context']
+ image_service.detail(context, filters=filters).AndReturn([])
+ self.mox.ReplayAll()
+ controller = images.ImagesController(image_service=image_service)
+ controller.detail(request)
+
+ def test_image_detail_filter_server_href(self):
+ image_service = self.mox.CreateMockAnything()
+ uuid = 'fa95aaf5-ab3b-4cd8-88c0-2be7dd051aaf'
+ ref = 'http://localhost:8774/servers/' + uuid
+ url = '/v3/os-images/detail?server=' + ref
+ filters = {'property-instance_uuid': uuid}
+ request = fakes.HTTPRequestV3.blank(url)
+ context = request.environ['nova.context']
+ image_service.detail(context, filters=filters).AndReturn([])
+ self.mox.ReplayAll()
+ controller = images.ImagesController(image_service=image_service)
+ controller.detail(request)
+
+ def test_image_detail_filter_server_uuid(self):
+ image_service = self.mox.CreateMockAnything()
+ uuid = 'fa95aaf5-ab3b-4cd8-88c0-2be7dd051aaf'
+ url = '/v2/fake/images/detail?server=' + uuid
+ filters = {'property-instance_uuid': uuid}
+ request = fakes.HTTPRequestV3.blank(url)
+ context = request.environ['nova.context']
+ image_service.detail(context, filters=filters).AndReturn([])
+ self.mox.ReplayAll()
+ controller = images.ImagesController(image_service=image_service)
+ controller.detail(request)
+
+ def test_image_detail_filter_changes_since(self):
+ image_service = self.mox.CreateMockAnything()
+ filters = {'changes-since': '2011-01-24T17:08Z'}
+ request = fakes.HTTPRequestV3.blank('/v3/os-images/detail'
+ '?changes-since=2011-01-24T17:08Z')
+ context = request.environ['nova.context']
+ image_service.detail(context, filters=filters).AndReturn([])
+ self.mox.ReplayAll()
+ controller = images.ImagesController(image_service=image_service)
+ controller.detail(request)
+
+ def test_image_detail_filter_with_type(self):
+ image_service = self.mox.CreateMockAnything()
+ filters = {'property-image_type': 'BASE'}
+ request = fakes.HTTPRequestV3.blank('/v3/os-images/detail?type=BASE')
+ context = request.environ['nova.context']
+ image_service.detail(context, filters=filters).AndReturn([])
+ self.mox.ReplayAll()
+ controller = images.ImagesController(image_service=image_service)
+ controller.detail(request)
+
+ def test_image_detail_filter_not_supported(self):
+ image_service = self.mox.CreateMockAnything()
+ filters = {'status': 'active'}
+ request = fakes.HTTPRequestV3.blank('/v3/os-images/detail?status='
+ 'ACTIVE&UNSUPPORTEDFILTER=testname')
+ context = request.environ['nova.context']
+ image_service.detail(context, filters=filters).AndReturn([])
+ self.mox.ReplayAll()
+ controller = images.ImagesController(image_service=image_service)
+ controller.detail(request)
+
+ def test_image_detail_no_filters(self):
+ image_service = self.mox.CreateMockAnything()
+ filters = {}
+ request = fakes.HTTPRequestV3.blank('/v3/os-images/detail')
+ context = request.environ['nova.context']
+ image_service.detail(context, filters=filters).AndReturn([])
+ self.mox.ReplayAll()
+ controller = images.ImagesController(image_service=image_service)
+ controller.detail(request)
+
+ def test_image_detail_invalid_marker(self):
+ class InvalidImageService(object):
+
+ def detail(self, *args, **kwargs):
+ raise exception.Invalid('meow')
+
+ request = fakes.HTTPRequestV3.blank('/v3/os-images?marker=invalid')
+ controller = images.ImagesController(image_service=InvalidImageService())
+ self.assertRaises(webob.exc.HTTPBadRequest, controller.detail, request)
+
+ def test_generate_alternate_link(self):
+ view = images_view.ViewBuilder()
+ request = fakes.HTTPRequestV3.blank('/v3/os-images/1')
+ generated_url = view._get_alternate_link(request, 1)
+ actual_url = "%s/fake/images/1" % glance.generate_glance_url()
+ self.assertEqual(generated_url, actual_url)
+
+ def test_delete_image(self):
+ request = fakes.HTTPRequestV3.blank('/v3/os-images/124')
+ request.method = 'DELETE'
+ response = self.controller.delete(request, '124')
+ self.assertEqual(response.status_int, 204)
+
+ def test_delete_deleted_image(self):
+ """If you try to delete a deleted image, you get back 403 Forbidden."""
+
+ deleted_image_id = 128
+ # see nova.tests.api.openstack.fakes:_make_image_fixtures
+
+ request = fakes.HTTPRequestV3.blank(
+ '/v3/os-images/%s' % deleted_image_id)
+ request.method = 'DELETE'
+ self.assertRaises(webob.exc.HTTPForbidden, self.controller.delete,
+ request, '%s' % deleted_image_id)
+
+ def test_delete_image_not_found(self):
+ request = fakes.HTTPRequestV3.blank('/v3/os-images/300')
+ request.method = 'DELETE'
+ self.assertRaises(webob.exc.HTTPNotFound,
+ self.controller.delete, request, '300')
+
+
+class ImageXMLSerializationTest(test.TestCase):
+
+ TIMESTAMP = "2010-10-11T10:30:22Z"
+ SERVER_UUID = 'aa640691-d1a7-4a67-9d3c-d35ee6b3cc74'
+ SERVER_HREF = 'http://localhost/v3/servers/' + SERVER_UUID
+ SERVER_BOOKMARK = 'http://localhost/servers/' + SERVER_UUID
+ IMAGE_HREF = 'http://localhost/v3/os-images/%s'
+ IMAGE_NEXT = 'http://localhost/v3/os-images?limit=%s&marker=%s'
+ IMAGE_BOOKMARK = 'http://localhost/os-images/%s'
+
+ def test_xml_declaration(self):
+ serializer = images.ImageTemplate()
+
+ fixture = {
+ 'image': {
+ 'id': 1,
+ 'name': 'Image1',
+ 'created': self.TIMESTAMP,
+ 'updated': self.TIMESTAMP,
+ 'status': 'ACTIVE',
+ 'progress': 80,
+ 'server': {
+ 'id': self.SERVER_UUID,
+ 'links': [
+ {
+ 'href': self.SERVER_HREF,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.SERVER_BOOKMARK,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ 'metadata': {
+ 'key1': 'value1',
+ },
+ 'links': [
+ {
+ 'href': self.IMAGE_HREF % 1,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.IMAGE_BOOKMARK % 1,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ }
+
+ output = serializer.serialize(fixture)
+ has_dec = output.startswith("<?xml version='1.0' encoding='UTF-8'?>")
+ self.assertTrue(has_dec)
+
+ def test_show(self):
+ serializer = images.ImageTemplate()
+
+ fixture = {
+ 'image': {
+ 'id': 1,
+ 'name': 'Image1',
+ 'created': self.TIMESTAMP,
+ 'updated': self.TIMESTAMP,
+ 'status': 'ACTIVE',
+ 'progress': 80,
+ 'minRam': 10,
+ 'minDisk': 100,
+ 'server': {
+ 'id': self.SERVER_UUID,
+ 'links': [
+ {
+ 'href': self.SERVER_HREF,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.SERVER_BOOKMARK,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ 'metadata': {
+ 'key1': 'value1',
+ },
+ 'links': [
+ {
+ 'href': self.IMAGE_HREF % 1,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.IMAGE_BOOKMARK % 1,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ }
+
+ output = serializer.serialize(fixture)
+ root = etree.XML(output)
+ xmlutil.validate_schema(root, 'image')
+ image_dict = fixture['image']
+
+ for key in ['name', 'id', 'updated', 'created', 'status', 'progress']:
+ self.assertEqual(root.get(key), str(image_dict[key]))
+
+ link_nodes = root.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(image_dict['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
+
+ metadata_root = root.find('{0}metadata'.format(NS))
+ metadata_elems = metadata_root.findall('{0}meta'.format(NS))
+ self.assertEqual(len(metadata_elems), 1)
+ for i, metadata_elem in enumerate(metadata_elems):
+ (meta_key, meta_value) = image_dict['metadata'].items()[i]
+ self.assertEqual(str(metadata_elem.get('key')), str(meta_key))
+ self.assertEqual(str(metadata_elem.text).strip(), str(meta_value))
+
+ server_root = root.find('{0}server'.format(NS))
+ self.assertEqual(server_root.get('id'), image_dict['server']['id'])
+ link_nodes = server_root.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(image_dict['server']['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
+
+ def test_show_zero_metadata(self):
+ serializer = images.ImageTemplate()
+
+ fixture = {
+ 'image': {
+ 'id': 1,
+ 'name': 'Image1',
+ 'created': self.TIMESTAMP,
+ 'updated': self.TIMESTAMP,
+ 'status': 'ACTIVE',
+ 'server': {
+ 'id': self.SERVER_UUID,
+ 'links': [
+ {
+ 'href': self.SERVER_HREF,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.SERVER_BOOKMARK,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ 'metadata': {},
+ 'links': [
+ {
+ 'href': self.IMAGE_HREF % 1,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.IMAGE_BOOKMARK % 1,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ }
+
+ output = serializer.serialize(fixture)
+ root = etree.XML(output)
+ xmlutil.validate_schema(root, 'image')
+ image_dict = fixture['image']
+
+ for key in ['name', 'id', 'updated', 'created', 'status']:
+ self.assertEqual(root.get(key), str(image_dict[key]))
+
+ link_nodes = root.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(image_dict['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
+
+ meta_nodes = root.findall('{0}meta'.format(ATOMNS))
+ self.assertEqual(len(meta_nodes), 0)
+
+ server_root = root.find('{0}server'.format(NS))
+ self.assertEqual(server_root.get('id'), image_dict['server']['id'])
+ link_nodes = server_root.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(image_dict['server']['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
+
+ def test_show_image_no_metadata_key(self):
+ serializer = images.ImageTemplate()
+
+ fixture = {
+ 'image': {
+ 'id': 1,
+ 'name': 'Image1',
+ 'created': self.TIMESTAMP,
+ 'updated': self.TIMESTAMP,
+ 'status': 'ACTIVE',
+ 'server': {
+ 'id': self.SERVER_UUID,
+ 'links': [
+ {
+ 'href': self.SERVER_HREF,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.SERVER_BOOKMARK,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ 'links': [
+ {
+ 'href': self.IMAGE_HREF % 1,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.IMAGE_BOOKMARK % 1,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ }
+
+ output = serializer.serialize(fixture)
+ root = etree.XML(output)
+ xmlutil.validate_schema(root, 'image')
+ image_dict = fixture['image']
+
+ for key in ['name', 'id', 'updated', 'created', 'status']:
+ self.assertEqual(root.get(key), str(image_dict[key]))
+
+ link_nodes = root.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(image_dict['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
+
+ meta_nodes = root.findall('{0}meta'.format(ATOMNS))
+ self.assertEqual(len(meta_nodes), 0)
+
+ server_root = root.find('{0}server'.format(NS))
+ self.assertEqual(server_root.get('id'), image_dict['server']['id'])
+ link_nodes = server_root.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(image_dict['server']['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
+
+ def test_show_no_server(self):
+ serializer = images.ImageTemplate()
+
+ fixture = {
+ 'image': {
+ 'id': 1,
+ 'name': 'Image1',
+ 'created': self.TIMESTAMP,
+ 'updated': self.TIMESTAMP,
+ 'status': 'ACTIVE',
+ 'metadata': {
+ 'key1': 'value1',
+ },
+ 'links': [
+ {
+ 'href': self.IMAGE_HREF % 1,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.IMAGE_BOOKMARK % 1,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ }
+
+ output = serializer.serialize(fixture)
+ root = etree.XML(output)
+ xmlutil.validate_schema(root, 'image')
+ image_dict = fixture['image']
+
+ for key in ['name', 'id', 'updated', 'created', 'status']:
+ self.assertEqual(root.get(key), str(image_dict[key]))
+
+ link_nodes = root.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(image_dict['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
+
+ metadata_root = root.find('{0}metadata'.format(NS))
+ metadata_elems = metadata_root.findall('{0}meta'.format(NS))
+ self.assertEqual(len(metadata_elems), 1)
+ for i, metadata_elem in enumerate(metadata_elems):
+ (meta_key, meta_value) = image_dict['metadata'].items()[i]
+ self.assertEqual(str(metadata_elem.get('key')), str(meta_key))
+ self.assertEqual(str(metadata_elem.text).strip(), str(meta_value))
+
+ server_root = root.find('{0}server'.format(NS))
+ self.assertEqual(server_root, None)
+
+ def test_show_with_min_ram(self):
+ serializer = images.ImageTemplate()
+
+ fixture = {
+ 'image': {
+ 'id': 1,
+ 'name': 'Image1',
+ 'created': self.TIMESTAMP,
+ 'updated': self.TIMESTAMP,
+ 'status': 'ACTIVE',
+ 'progress': 80,
+ 'minRam': 256,
+ 'server': {
+ 'id': self.SERVER_UUID,
+ 'links': [
+ {
+ 'href': self.SERVER_HREF,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.SERVER_BOOKMARK,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ 'metadata': {
+ 'key1': 'value1',
+ },
+ 'links': [
+ {
+ 'href': self.IMAGE_HREF % 1,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.IMAGE_BOOKMARK % 1,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ }
+
+ output = serializer.serialize(fixture)
+ root = etree.XML(output)
+ xmlutil.validate_schema(root, 'image')
+ image_dict = fixture['image']
+
+ for key in ['name', 'id', 'updated', 'created', 'status', 'progress',
+ 'minRam']:
+ self.assertEqual(root.get(key), str(image_dict[key]))
+
+ link_nodes = root.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(image_dict['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
+
+ metadata_root = root.find('{0}metadata'.format(NS))
+ metadata_elems = metadata_root.findall('{0}meta'.format(NS))
+ self.assertEqual(len(metadata_elems), 1)
+ for i, metadata_elem in enumerate(metadata_elems):
+ (meta_key, meta_value) = image_dict['metadata'].items()[i]
+ self.assertEqual(str(metadata_elem.get('key')), str(meta_key))
+ self.assertEqual(str(metadata_elem.text).strip(), str(meta_value))
+
+ server_root = root.find('{0}server'.format(NS))
+ self.assertEqual(server_root.get('id'), image_dict['server']['id'])
+ link_nodes = server_root.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(image_dict['server']['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
+
+ def test_show_with_min_disk(self):
+ serializer = images.ImageTemplate()
+
+ fixture = {
+ 'image': {
+ 'id': 1,
+ 'name': 'Image1',
+ 'created': self.TIMESTAMP,
+ 'updated': self.TIMESTAMP,
+ 'status': 'ACTIVE',
+ 'progress': 80,
+ 'minDisk': 5,
+ 'server': {
+ 'id': self.SERVER_UUID,
+ 'links': [
+ {
+ 'href': self.SERVER_HREF,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.SERVER_BOOKMARK,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ 'metadata': {
+ 'key1': 'value1',
+ },
+ 'links': [
+ {
+ 'href': self.IMAGE_HREF % 1,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.IMAGE_BOOKMARK % 1,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ }
+
+ output = serializer.serialize(fixture)
+ root = etree.XML(output)
+ xmlutil.validate_schema(root, 'image')
+ image_dict = fixture['image']
+
+ for key in ['name', 'id', 'updated', 'created', 'status', 'progress',
+ 'minDisk']:
+ self.assertEqual(root.get(key), str(image_dict[key]))
+
+ link_nodes = root.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(image_dict['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
+
+ metadata_root = root.find('{0}metadata'.format(NS))
+ metadata_elems = metadata_root.findall('{0}meta'.format(NS))
+ self.assertEqual(len(metadata_elems), 1)
+ for i, metadata_elem in enumerate(metadata_elems):
+ (meta_key, meta_value) = image_dict['metadata'].items()[i]
+ self.assertEqual(str(metadata_elem.get('key')), str(meta_key))
+ self.assertEqual(str(metadata_elem.text).strip(), str(meta_value))
+
+ server_root = root.find('{0}server'.format(NS))
+ self.assertEqual(server_root.get('id'), image_dict['server']['id'])
+ link_nodes = server_root.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(image_dict['server']['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
+
+ def test_index(self):
+ serializer = images.MinimalImagesTemplate()
+
+ fixture = {
+ 'images': [
+ {
+ 'id': 1,
+ 'name': 'Image1',
+ 'links': [
+ {
+ 'href': self.IMAGE_HREF % 1,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.IMAGE_BOOKMARK % 1,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ {
+ 'id': 2,
+ 'name': 'Image2',
+ 'links': [
+ {
+ 'href': self.IMAGE_HREF % 2,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.IMAGE_BOOKMARK % 2,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ ]
+ }
+
+ output = serializer.serialize(fixture)
+ root = etree.XML(output)
+ xmlutil.validate_schema(root, 'images_index')
+ image_elems = root.findall('{0}image'.format(NS))
+ self.assertEqual(len(image_elems), 2)
+ for i, image_elem in enumerate(image_elems):
+ image_dict = fixture['images'][i]
+
+ for key in ['name', 'id']:
+ self.assertEqual(image_elem.get(key), str(image_dict[key]))
+
+ link_nodes = image_elem.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(image_dict['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
+
+ def test_index_with_links(self):
+ serializer = images.MinimalImagesTemplate()
+
+ fixture = {
+ 'images': [
+ {
+ 'id': 1,
+ 'name': 'Image1',
+ 'links': [
+ {
+ 'href': self.IMAGE_HREF % 1,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.IMAGE_BOOKMARK % 1,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ {
+ 'id': 2,
+ 'name': 'Image2',
+ 'links': [
+ {
+ 'href': self.IMAGE_HREF % 2,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.IMAGE_BOOKMARK % 2,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ ],
+ 'images_links': [
+ {
+ 'rel': 'next',
+ 'href': self.IMAGE_NEXT % (2, 2),
+ }
+ ],
+ }
+
+ output = serializer.serialize(fixture)
+ root = etree.XML(output)
+ xmlutil.validate_schema(root, 'images_index')
+ image_elems = root.findall('{0}image'.format(NS))
+ self.assertEqual(len(image_elems), 2)
+ for i, image_elem in enumerate(image_elems):
+ image_dict = fixture['images'][i]
+
+ for key in ['name', 'id']:
+ self.assertEqual(image_elem.get(key), str(image_dict[key]))
+
+ link_nodes = image_elem.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(image_dict['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
+
+ # Check images_links
+ images_links = root.findall('{0}link'.format(ATOMNS))
+ for i, link in enumerate(fixture['images_links']):
+ for key, value in link.items():
+ self.assertEqual(images_links[i].get(key), value)
+
+ def test_index_zero_images(self):
+ serializer = images.MinimalImagesTemplate()
+
+ fixtures = {
+ 'images': [],
+ }
+
+ output = serializer.serialize(fixtures)
+ root = etree.XML(output)
+ xmlutil.validate_schema(root, 'images_index')
+ image_elems = root.findall('{0}image'.format(NS))
+ self.assertEqual(len(image_elems), 0)
+
+ def test_detail(self):
+ serializer = images.ImagesTemplate()
+
+ fixture = {
+ 'images': [
+ {
+ 'id': 1,
+ 'name': 'Image1',
+ 'created': self.TIMESTAMP,
+ 'updated': self.TIMESTAMP,
+ 'status': 'ACTIVE',
+ 'server': {
+ 'id': self.SERVER_UUID,
+ 'links': [
+ {
+ 'href': self.SERVER_HREF,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.SERVER_BOOKMARK,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ 'links': [
+ {
+ 'href': self.IMAGE_HREF % 1,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.IMAGE_BOOKMARK % 1,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ {
+ 'id': '2',
+ 'name': 'Image2',
+ 'created': self.TIMESTAMP,
+ 'updated': self.TIMESTAMP,
+ 'status': 'SAVING',
+ 'progress': 80,
+ 'metadata': {
+ 'key1': 'value1',
+ },
+ 'links': [
+ {
+ 'href': self.IMAGE_HREF % 2,
+ 'rel': 'self',
+ },
+ {
+ 'href': self.IMAGE_BOOKMARK % 2,
+ 'rel': 'bookmark',
+ },
+ ],
+ },
+ ]
+ }
+
+ output = serializer.serialize(fixture)
+ root = etree.XML(output)
+ xmlutil.validate_schema(root, 'images')
+ image_elems = root.findall('{0}image'.format(NS))
+ self.assertEqual(len(image_elems), 2)
+ for i, image_elem in enumerate(image_elems):
+ image_dict = fixture['images'][i]
+
+ for key in ['name', 'id', 'updated', 'created', 'status']:
+ self.assertEqual(image_elem.get(key), str(image_dict[key]))
+
+ link_nodes = image_elem.findall('{0}link'.format(ATOMNS))
+ self.assertEqual(len(link_nodes), 2)
+ for i, link in enumerate(image_dict['links']):
+ for key, value in link.items():
+ self.assertEqual(link_nodes[i].get(key), value)
diff --git a/nova/tests/api/openstack/compute/plugins/v3/test_quota_classes.py b/nova/tests/api/openstack/compute/plugins/v3/test_quota_classes.py
new file mode 100644
index 000000000..c4f79118e
--- /dev/null
+++ b/nova/tests/api/openstack/compute/plugins/v3/test_quota_classes.py
@@ -0,0 +1,188 @@
+# Copyright 2012 OpenStack Foundation
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from lxml import etree
+import webob
+
+from nova.api.openstack.compute.contrib import quota_classes
+from nova.api.openstack import wsgi
+from nova import test
+from nova.tests.api.openstack import fakes
+
+
+def quota_set(class_name):
+ return {'quota_class_set': {'id': class_name, 'metadata_items': 128,
+ 'ram': 51200, 'floating_ips': 10,
+ 'fixed_ips': -1, 'instances': 10,
+ 'injected_files': 5, 'cores': 20,
+ 'injected_file_content_bytes': 10240,
+ 'security_groups': 10,
+ 'security_group_rules': 20, 'key_pairs': 100,
+ 'injected_file_path_bytes': 255}}
+
+
+class QuotaClassSetsTest(test.TestCase):
+
+ def setUp(self):
+ super(QuotaClassSetsTest, self).setUp()
+ self.controller = quota_classes.QuotaClassSetsController()
+
+ def test_format_quota_set(self):
+ raw_quota_set = {
+ 'instances': 10,
+ 'cores': 20,
+ 'ram': 51200,
+ 'floating_ips': 10,
+ 'fixed_ips': -1,
+ 'metadata_items': 128,
+ 'injected_files': 5,
+ 'injected_file_path_bytes': 255,
+ 'injected_file_content_bytes': 10240,
+ 'security_groups': 10,
+ 'security_group_rules': 20,
+ 'key_pairs': 100,
+ }
+
+ quota_set = self.controller._format_quota_set('test_class',
+ raw_quota_set)
+ qs = quota_set['quota_class_set']
+
+ self.assertEqual(qs['id'], 'test_class')
+ self.assertEqual(qs['instances'], 10)
+ self.assertEqual(qs['cores'], 20)
+ self.assertEqual(qs['ram'], 51200)
+ self.assertEqual(qs['floating_ips'], 10)
+ self.assertEqual(qs['fixed_ips'], -1)
+ self.assertEqual(qs['metadata_items'], 128)
+ self.assertEqual(qs['injected_files'], 5)
+ self.assertEqual(qs['injected_file_path_bytes'], 255)
+ self.assertEqual(qs['injected_file_content_bytes'], 10240)
+ self.assertEqual(qs['security_groups'], 10)
+ self.assertEqual(qs['security_group_rules'], 20)
+ self.assertEqual(qs['key_pairs'], 100)
+
+ def test_quotas_show_as_admin(self):
+ req = fakes.HTTPRequest.blank(
+ '/v2/fake4/os-quota-class-sets/test_class',
+ use_admin_context=True)
+ res_dict = self.controller.show(req, 'test_class')
+
+ self.assertEqual(res_dict, quota_set('test_class'))
+
+ def test_quotas_show_as_unauthorized_user(self):
+ req = fakes.HTTPRequest.blank(
+ '/v2/fake4/os-quota-class-sets/test_class')
+ self.assertRaises(webob.exc.HTTPForbidden, self.controller.show,
+ req, 'test_class')
+
+ def test_quotas_update_as_admin(self):
+ body = {'quota_class_set': {'instances': 50, 'cores': 50,
+ 'ram': 51200, 'floating_ips': 10,
+ 'fixed_ips': -1, 'metadata_items': 128,
+ 'injected_files': 5,
+ 'injected_file_content_bytes': 10240,
+ 'injected_file_path_bytes': 255,
+ 'security_groups': 10,
+ 'security_group_rules': 20,
+ 'key_pairs': 100}}
+
+ req = fakes.HTTPRequest.blank(
+ '/v2/fake4/os-quota-class-sets/test_class',
+ use_admin_context=True)
+ res_dict = self.controller.update(req, 'test_class', body)
+
+ self.assertEqual(res_dict, body)
+
+ def test_quotas_update_as_user(self):
+ body = {'quota_class_set': {'instances': 50, 'cores': 50,
+ 'ram': 51200, 'floating_ips': 10,
+ 'fixed_ips': -1, 'metadata_items': 128,
+ 'injected_files': 5,
+ 'injected_file_content_bytes': 10240,
+ 'security_groups': 10,
+ 'security_group_rules': 20,
+ 'key_pairs': 100,
+ }}
+
+ req = fakes.HTTPRequest.blank(
+ '/v2/fake4/os-quota-class-sets/test_class')
+ self.assertRaises(webob.exc.HTTPForbidden, self.controller.update,
+ req, 'test_class', body)
+
+
+class QuotaTemplateXMLSerializerTest(test.TestCase):
+ def setUp(self):
+ super(QuotaTemplateXMLSerializerTest, self).setUp()
+ self.serializer = quota_classes.QuotaClassTemplate()
+ self.deserializer = wsgi.XMLDeserializer()
+
+ def test_serializer(self):
+ exemplar = dict(quota_class_set=dict(
+ id='test_class',
+ metadata_items=10,
+ injected_file_path_bytes=255,
+ injected_file_content_bytes=20,
+ ram=50,
+ floating_ips=60,
+ fixed_ips=-1,
+ instances=70,
+ injected_files=80,
+ security_groups=10,
+ security_group_rules=20,
+ key_pairs=100,
+ cores=90))
+ text = self.serializer.serialize(exemplar)
+
+ tree = etree.fromstring(text)
+
+ self.assertEqual('quota_class_set', tree.tag)
+ self.assertEqual('test_class', tree.get('id'))
+ self.assertEqual(len(exemplar['quota_class_set']) - 1, len(tree))
+ for child in tree:
+ self.assertTrue(child.tag in exemplar['quota_class_set'])
+ self.assertEqual(int(child.text),
+ exemplar['quota_class_set'][child.tag])
+
+ def test_deserializer(self):
+ exemplar = dict(quota_class_set=dict(
+ metadata_items='10',
+ injected_file_content_bytes='20',
+ ram='50',
+ floating_ips='60',
+ fixed_ips='-1',
+ instances='70',
+ injected_files='80',
+ security_groups='10',
+ security_group_rules='20',
+ key_pairs='100',
+ cores='90'))
+ intext = ("<?xml version='1.0' encoding='UTF-8'?>\n"
+ '<quota_class_set>'
+ '<metadata_items>10</metadata_items>'
+ '<injected_file_content_bytes>20'
+ '</injected_file_content_bytes>'
+ '<ram>50</ram>'
+ '<floating_ips>60</floating_ips>'
+ '<fixed_ips>-1</fixed_ips>'
+ '<instances>70</instances>'
+ '<injected_files>80</injected_files>'
+ '<cores>90</cores>'
+ '<security_groups>10</security_groups>'
+ '<security_group_rules>20</security_group_rules>'
+ '<key_pairs>100</key_pairs>'
+ '</quota_class_set>')
+
+ result = self.deserializer.deserialize(intext)['body']
+ self.assertEqual(result, exemplar)
diff --git a/nova/tests/api/openstack/compute/plugins/v3/test_quota_sets.py b/nova/tests/api/openstack/compute/plugins/v3/test_quota_sets.py
new file mode 100644
index 000000000..6eea01cff
--- /dev/null
+++ b/nova/tests/api/openstack/compute/plugins/v3/test_quota_sets.py
@@ -0,0 +1,399 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2011 OpenStack Foundation
+# Copyright 2013 IBM Corp.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from lxml import etree
+import webob
+
+from nova.api.openstack.compute.plugins.v3 import quota_sets as quotas
+from nova.api.openstack import extensions
+from nova.api.openstack import wsgi
+from nova import context as context_maker
+from nova import quota
+from nova import test
+from nova.tests.api.openstack import fakes
+
+
+def quota_set(id):
+ return {'quota_set': {'id': id, 'metadata_items': 128,
+ 'ram': 51200, 'floating_ips': 10, 'fixed_ips': -1,
+ 'instances': 10, 'injected_files': 5, 'cores': 20,
+ 'injected_file_content_bytes': 10240,
+ 'security_groups': 10, 'security_group_rules': 20,
+ 'key_pairs': 100, 'injected_file_path_bytes': 255}}
+
+
+class QuotaSetsTest(test.TestCase):
+
+ def setUp(self):
+ super(QuotaSetsTest, self).setUp()
+ self.ext_mgr = self.mox.CreateMock(extensions.ExtensionManager)
+ self.controller = quotas.QuotaSetsController(self.ext_mgr)
+
+ def test_format_quota_set(self):
+ raw_quota_set = {
+ 'instances': 10,
+ 'cores': 20,
+ 'ram': 51200,
+ 'floating_ips': 10,
+ 'fixed_ips': -1,
+ 'metadata_items': 128,
+ 'injected_files': 5,
+ 'injected_file_path_bytes': 255,
+ 'injected_file_content_bytes': 10240,
+ 'security_groups': 10,
+ 'security_group_rules': 20,
+ 'key_pairs': 100}
+
+ quota_set = self.controller._format_quota_set('1234', raw_quota_set)
+ qs = quota_set['quota_set']
+
+ self.assertEqual(qs['id'], '1234')
+ self.assertEqual(qs['instances'], 10)
+ self.assertEqual(qs['cores'], 20)
+ self.assertEqual(qs['ram'], 51200)
+ self.assertEqual(qs['floating_ips'], 10)
+ self.assertEqual(qs['fixed_ips'], -1)
+ self.assertEqual(qs['metadata_items'], 128)
+ self.assertEqual(qs['injected_files'], 5)
+ self.assertEqual(qs['injected_file_path_bytes'], 255)
+ self.assertEqual(qs['injected_file_content_bytes'], 10240)
+ self.assertEqual(qs['security_groups'], 10)
+ self.assertEqual(qs['security_group_rules'], 20)
+ self.assertEqual(qs['key_pairs'], 100)
+
+ def test_quotas_defaults(self):
+ uri = '/os-quota-sets/fake_tenant/defaults'
+
+ req = fakes.HTTPRequestV3.blank(uri)
+ res_dict = self.controller.defaults(req, 'fake_tenant')
+
+ expected = {'quota_set': {
+ 'id': 'fake_tenant',
+ 'instances': 10,
+ 'cores': 20,
+ 'ram': 51200,
+ 'floating_ips': 10,
+ 'fixed_ips': -1,
+ 'metadata_items': 128,
+ 'injected_files': 5,
+ 'injected_file_path_bytes': 255,
+ 'injected_file_content_bytes': 10240,
+ 'security_groups': 10,
+ 'security_group_rules': 20,
+ 'key_pairs': 100}}
+
+ self.assertEqual(res_dict, expected)
+
+ def test_quotas_show_as_admin(self):
+ req = fakes.HTTPRequestV3.blank('/os-quota-sets/1234',
+ use_admin_context=True)
+ res_dict = self.controller.show(req, 1234)
+
+ self.assertEqual(res_dict, quota_set('1234'))
+
+ def test_quotas_show_as_unauthorized_user(self):
+ req = fakes.HTTPRequestV3.blank('/os-quota-sets/1234')
+ self.assertRaises(webob.exc.HTTPForbidden, self.controller.show,
+ req, 1234)
+
+ def test_quotas_update_as_admin(self):
+ self.ext_mgr.is_loaded('os-extended-quotas').AndReturn(True)
+ self.mox.ReplayAll()
+ body = {'quota_set': {'instances': 50, 'cores': 50,
+ 'ram': 51200, 'floating_ips': 10,
+ 'fixed_ips': -1, 'metadata_items': 128,
+ 'injected_files': 5,
+ 'injected_file_content_bytes': 10240,
+ 'injected_file_path_bytes': 255,
+ 'security_groups': 10,
+ 'security_group_rules': 20,
+ 'key_pairs': 100, 'fixed_ips': -1}}
+
+ req = fakes.HTTPRequestV3.blank('/os-quota-sets/update_me',
+ use_admin_context=True)
+ res_dict = self.controller.update(req, 'update_me', body)
+
+ self.assertEqual(res_dict, body)
+
+ def test_quotas_update_as_user(self):
+ self.ext_mgr.is_loaded('os-extended-quotas').AndReturn(True)
+ self.mox.ReplayAll()
+ body = {'quota_set': {'instances': 50, 'cores': 50,
+ 'ram': 51200, 'floating_ips': 10,
+ 'fixed_ips': -1, 'metadata_items': 128,
+ 'injected_files': 5,
+ 'injected_file_content_bytes': 10240,
+ 'security_groups': 10,
+ 'security_group_rules': 20,
+ 'key_pairs': 100}}
+
+ req = fakes.HTTPRequestV3.blank('/os-quota-sets/update_me')
+ self.assertRaises(webob.exc.HTTPForbidden, self.controller.update,
+ req, 'update_me', body)
+
+ def test_quotas_update_invalid_key(self):
+ self.ext_mgr.is_loaded('os-extended-quotas').AndReturn(True)
+ self.mox.ReplayAll()
+ body = {'quota_set': {'instances2': -2, 'cores': -2,
+ 'ram': -2, 'floating_ips': -2,
+ 'metadata_items': -2, 'injected_files': -2,
+ 'injected_file_content_bytes': -2}}
+
+ req = fakes.HTTPRequestV3.blank('/os-quota-sets/update_me',
+ use_admin_context=True)
+ self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
+ req, 'update_me', body)
+
+ def test_quotas_update_invalid_limit(self):
+ self.ext_mgr.is_loaded('os-extended-quotas').AndReturn(True)
+ self.mox.ReplayAll()
+ body = {'quota_set': {'instances': -2, 'cores': -2,
+ 'ram': -2, 'floating_ips': -2, 'fixed_ips': -2,
+ 'metadata_items': -2, 'injected_files': -2,
+ 'injected_file_content_bytes': -2}}
+
+ req = fakes.HTTPRequestV3.blank('/os-quota-sets/update_me',
+ use_admin_context=True)
+ self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
+ req, 'update_me', body)
+
+ def test_quotas_update_invalid_value_json_fromat_empty_string(self):
+ expected_resp = {'quota_set': {
+ 'instances': 50, 'cores': 50,
+ 'ram': 51200, 'floating_ips': 10,
+ 'fixed_ips': -1, 'metadata_items': 128,
+ 'injected_files': 5,
+ 'injected_file_content_bytes': 10240,
+ 'injected_file_path_bytes': 255,
+ 'security_groups': 10,
+ 'security_group_rules': 20,
+ 'key_pairs': 100}}
+
+ # when PUT JSON format with empty string for quota
+ body = {'quota_set': {'instances': 50, 'cores': 50,
+ 'ram': '', 'floating_ips': 10,
+ 'fixed_ips': -1, 'metadata_items': 128,
+ 'injected_files': 5,
+ 'injected_file_content_bytes': 10240,
+ 'injected_file_path_bytes': 255,
+ 'security_groups': 10,
+ 'security_group_rules': 20,
+ 'key_pairs': 100}}
+ req = fakes.HTTPRequestV3.blank('/os-quota-sets/update_me',
+ use_admin_context=True)
+ self.ext_mgr.is_loaded('os-extended-quotas').AndReturn(True)
+ self.mox.ReplayAll()
+ res_dict = self.controller.update(req, 'update_me', body)
+ self.assertEqual(res_dict, expected_resp)
+
+ def test_quotas_update_invalid_value_xml_fromat_empty_string(self):
+ expected_resp = {'quota_set': {
+ 'instances': 50, 'cores': 50,
+ 'ram': 51200, 'floating_ips': 10,
+ 'fixed_ips': -1, 'metadata_items': 128,
+ 'injected_files': 5,
+ 'injected_file_content_bytes': 10240,
+ 'injected_file_path_bytes': 255,
+ 'security_groups': 10,
+ 'security_group_rules': 20,
+ 'key_pairs': 100}}
+ # when PUT XML format with empty string for quota
+ body = {'quota_set': {'instances': 50, 'cores': 50,
+ 'ram': {}, 'floating_ips': 10,
+ 'fixed_ips': -1, 'metadata_items': 128,
+ 'injected_files': 5,
+ 'injected_file_content_bytes': 10240,
+ 'injected_file_path_bytes': 255,
+ 'security_groups': 10,
+ 'security_group_rules': 20,
+ 'key_pairs': 100}}
+ req = fakes.HTTPRequestV3.blank('/os-quota-sets/update_me',
+ use_admin_context=True)
+ self.ext_mgr.is_loaded('os-extended-quotas').AndReturn(True)
+ self.mox.ReplayAll()
+ res_dict = self.controller.update(req, 'update_me', body)
+ self.assertEqual(res_dict, expected_resp)
+
+ def test_quotas_update_invalid_value_non_int(self):
+ # when PUT non integer value
+ body = {'quota_set': {'instances': test, 'cores': 50,
+ 'ram': {}, 'floating_ips': 10,
+ 'fixed_ips': -1, 'metadata_items': 128,
+ 'injected_files': 5,
+ 'injected_file_content_bytes': 10240,
+ 'injected_file_path_bytes': 255,
+ 'security_groups': 10,
+ 'security_group_rules': 20,
+ 'key_pairs': 100}}
+ req = fakes.HTTPRequestV3.blank('/os-quota-sets/update_me',
+ use_admin_context=True)
+ self.ext_mgr.is_loaded('os-extended-quotas').AndReturn(True)
+ self.mox.ReplayAll()
+ self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
+ req, 'update_me', body)
+
+ def test_delete_quotas_when_extension_not_loaded(self):
+ self.ext_mgr.is_loaded('os-extended-quotas').AndReturn(False)
+ self.mox.ReplayAll()
+ req = fakes.HTTPRequestV3.blank('/os-quota-sets/1234')
+ self.assertRaises(webob.exc.HTTPNotFound, self.controller.delete,
+ req, 1234)
+
+ def test_quotas_delete_as_unauthorized_user(self):
+ self.ext_mgr.is_loaded('os-extended-quotas').AndReturn(True)
+ self.mox.ReplayAll()
+ req = fakes.HTTPRequestV3.blank('/os-quota-sets/1234')
+ self.assertRaises(webob.exc.HTTPForbidden, self.controller.delete,
+ req, 1234)
+
+ def test_quotas_delete_as_admin(self):
+ context = context_maker.get_admin_context()
+ self.req = fakes.HTTPRequestV3.blank('/os-quota-sets/1234')
+ self.req.environ['nova.context'] = context
+ self.ext_mgr.is_loaded('os-extended-quotas').AndReturn(True)
+ self.mox.StubOutWithMock(quota.QUOTAS,
+ "destroy_all_by_project")
+ quota.QUOTAS.destroy_all_by_project(context, 1234)
+ self.mox.ReplayAll()
+ res = self.controller.delete(self.req, 1234)
+ self.mox.VerifyAll()
+ self.assertEqual(res.status_int, 202)
+
+
+class QuotaXMLSerializerTest(test.TestCase):
+ def setUp(self):
+ super(QuotaXMLSerializerTest, self).setUp()
+ self.serializer = quotas.QuotaTemplate()
+ self.deserializer = wsgi.XMLDeserializer()
+
+ def test_serializer(self):
+ exemplar = dict(quota_set=dict(
+ id='project_id',
+ metadata_items=10,
+ injected_file_path_bytes=255,
+ injected_file_content_bytes=20,
+ ram=50,
+ floating_ips=60,
+ fixed_ips=-1,
+ instances=70,
+ injected_files=80,
+ security_groups=10,
+ security_group_rules=20,
+ key_pairs=100,
+ cores=90))
+ text = self.serializer.serialize(exemplar)
+
+ tree = etree.fromstring(text)
+
+ self.assertEqual('quota_set', tree.tag)
+ self.assertEqual('project_id', tree.get('id'))
+ self.assertEqual(len(exemplar['quota_set']) - 1, len(tree))
+ for child in tree:
+ self.assertTrue(child.tag in exemplar['quota_set'])
+ self.assertEqual(int(child.text), exemplar['quota_set'][child.tag])
+
+ def test_deserializer(self):
+ exemplar = dict(quota_set=dict(
+ metadata_items='10',
+ injected_file_content_bytes='20',
+ ram='50',
+ floating_ips='60',
+ fixed_ips='-1',
+ instances='70',
+ injected_files='80',
+ security_groups='10',
+ security_group_rules='20',
+ key_pairs='100',
+ cores='90'))
+ intext = ("<?xml version='1.0' encoding='UTF-8'?>\n"
+ '<quota_set>'
+ '<metadata_items>10</metadata_items>'
+ '<injected_file_content_bytes>20'
+ '</injected_file_content_bytes>'
+ '<ram>50</ram>'
+ '<floating_ips>60</floating_ips>'
+ '<fixed_ips>-1</fixed_ips>'
+ '<instances>70</instances>'
+ '<injected_files>80</injected_files>'
+ '<security_groups>10</security_groups>'
+ '<security_group_rules>20</security_group_rules>'
+ '<key_pairs>100</key_pairs>'
+ '<cores>90</cores>'
+ '</quota_set>')
+
+ result = self.deserializer.deserialize(intext)['body']
+ self.assertEqual(result, exemplar)
+
+
+fake_quotas = {'ram': {'limit': 51200,
+ 'in_use': 12800,
+ 'reserved': 12800},
+ 'cores': {'limit': 20,
+ 'in_use': 10,
+ 'reserved': 5},
+ 'instances': {'limit': 100,
+ 'in_use': 0,
+ 'reserved': 0}}
+
+
+def fake_get_quotas(self, context, id, usages=False):
+ if usages:
+ return fake_quotas
+ else:
+ return dict((k, v['limit']) for k, v in fake_quotas.items())
+
+
+class ExtendedQuotasTest(test.TestCase):
+
+ def setUp(self):
+ super(ExtendedQuotasTest, self).setUp()
+ self.ext_mgr = self.mox.CreateMock(extensions.ExtensionManager)
+ self.controller = quotas.QuotaSetsController(self.ext_mgr)
+
+ def test_quotas_update_exceed_in_used(self):
+
+ body = {'quota_set': {'cores': 10}}
+
+ self.stubs.Set(quotas.QuotaSetsController, '_get_quotas',
+ fake_get_quotas)
+ req = fakes.HTTPRequestV3.blank('/os-quota-sets/update_me',
+ use_admin_context=True)
+ self.ext_mgr.is_loaded('os-extended-quotas').AndReturn(True)
+ self.mox.ReplayAll()
+
+ self.assertRaises(webob.exc.HTTPBadRequest, self.controller.update,
+ req, 'update_me', body)
+
+ def test_quotas_force_update_exceed_in_used(self):
+ self.stubs.Set(quotas.QuotaSetsController, '_get_quotas',
+ fake_get_quotas)
+ req = fakes.HTTPRequestV3.blank('/os-quota-sets/update_me',
+ use_admin_context=True)
+ expected = {'quota_set': {'ram': 25600, 'instances': 200, 'cores': 10}}
+ body = {'quota_set': {'ram': 25600,
+ 'instances': 200,
+ 'cores': 10,
+ 'force': 'True'}}
+ fake_quotas.get('ram')['limit'] = 25600
+ fake_quotas.get('cores')['limit'] = 10
+ fake_quotas.get('instances')['limit'] = 200
+
+ self.ext_mgr.is_loaded('os-extended-quotas').AndReturn(True)
+ self.mox.ReplayAll()
+ res_dict = self.controller.update(req, 'update_me', body)
+ self.assertEqual(res_dict, expected)
diff --git a/nova/tests/api/openstack/compute/plugins/v3/test_rescue.py b/nova/tests/api/openstack/compute/plugins/v3/test_rescue.py
new file mode 100644
index 000000000..75733e50f
--- /dev/null
+++ b/nova/tests/api/openstack/compute/plugins/v3/test_rescue.py
@@ -0,0 +1,126 @@
+# Copyright 2011 OpenStack Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from oslo.config import cfg
+import webob
+
+from nova import compute
+from nova import exception
+from nova.openstack.common import jsonutils
+from nova import test
+from nova.tests.api.openstack import fakes
+
+CONF = cfg.CONF
+CONF.import_opt('password_length', 'nova.utils')
+
+
+def rescue(self, context, instance, rescue_password=None):
+ pass
+
+
+def unrescue(self, context, instance):
+ pass
+
+
+class RescueTest(test.TestCase):
+ def setUp(self):
+ super(RescueTest, self).setUp()
+
+ def fake_compute_get(*args, **kwargs):
+ uuid = '70f6db34-de8d-4fbd-aafb-4065bdfa6114'
+ return {'id': 1, 'uuid': uuid}
+
+ self.stubs.Set(compute.api.API, "get", fake_compute_get)
+ self.stubs.Set(compute.api.API, "rescue", rescue)
+ self.stubs.Set(compute.api.API, "unrescue", unrescue)
+ self.app = fakes.wsgi_app_v3(init_only=('servers', 'os-rescue'))
+
+ def test_rescue_with_preset_password(self):
+ body = {"rescue": {"adminPass": "AABBCC112233"}}
+ req = webob.Request.blank('/v3/servers/test_inst/action')
+ req.method = "POST"
+ req.body = jsonutils.dumps(body)
+ req.headers["content-type"] = "application/json"
+
+ resp = req.get_response(self.app)
+ self.assertEqual(resp.status_int, 200)
+ resp_json = jsonutils.loads(resp.body)
+ self.assertEqual("AABBCC112233", resp_json['adminPass'])
+
+ def test_rescue_generates_password(self):
+ body = dict(rescue=None)
+ req = webob.Request.blank('/v3/servers/test_inst/action')
+ req.method = "POST"
+ req.body = jsonutils.dumps(body)
+ req.headers["content-type"] = "application/json"
+
+ resp = req.get_response(self.app)
+ self.assertEqual(resp.status_int, 200)
+ resp_json = jsonutils.loads(resp.body)
+ self.assertEqual(CONF.password_length, len(resp_json['adminPass']))
+
+ def test_rescue_of_rescued_instance(self):
+ body = dict(rescue=None)
+
+ def fake_rescue(*args, **kwargs):
+ raise exception.InstanceInvalidState('fake message')
+
+ self.stubs.Set(compute.api.API, "rescue", fake_rescue)
+ req = webob.Request.blank('/v3/servers/test_inst/action')
+ req.method = "POST"
+ req.body = jsonutils.dumps(body)
+ req.headers["content-type"] = "application/json"
+
+ resp = req.get_response(self.app)
+ self.assertEqual(resp.status_int, 409)
+
+ def test_unrescue(self):
+ body = dict(unrescue=None)
+ req = webob.Request.blank('/v3/servers/test_inst/action')
+ req.method = "POST"
+ req.body = jsonutils.dumps(body)
+ req.headers["content-type"] = "application/json"
+
+ resp = req.get_response(self.app)
+ self.assertEqual(resp.status_int, 202)
+
+ def test_unrescue_of_active_instance(self):
+ body = dict(unrescue=None)
+
+ def fake_unrescue(*args, **kwargs):
+ raise exception.InstanceInvalidState('fake message')
+
+ self.stubs.Set(compute.api.API, "unrescue", fake_unrescue)
+ req = webob.Request.blank('/v3/servers/test_inst/action')
+ req.method = "POST"
+ req.body = jsonutils.dumps(body)
+ req.headers["content-type"] = "application/json"
+
+ resp = req.get_response(self.app)
+ self.assertEqual(resp.status_int, 409)
+
+ def test_rescue_raises_unrescuable(self):
+ body = dict(rescue=None)
+
+ def fake_rescue(*args, **kwargs):
+ raise exception.InstanceNotRescuable('fake message')
+
+ self.stubs.Set(compute.api.API, "rescue", fake_rescue)
+ req = webob.Request.blank('/v3/servers/test_inst/action')
+ req.method = "POST"
+ req.body = jsonutils.dumps(body)
+ req.headers["content-type"] = "application/json"
+
+ resp = req.get_response(self.app)
+ self.assertEqual(resp.status_int, 400)
diff --git a/nova/tests/api/openstack/compute/plugins/v3/test_server_diagnostics.py b/nova/tests/api/openstack/compute/plugins/v3/test_server_diagnostics.py
new file mode 100644
index 000000000..61b78fea8
--- /dev/null
+++ b/nova/tests/api/openstack/compute/plugins/v3/test_server_diagnostics.py
@@ -0,0 +1,81 @@
+# Copyright 2011 Eldar Nugaev
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from lxml import etree
+
+from nova.api.openstack import compute
+from nova.api.openstack.compute.plugins.v3 import server_diagnostics
+from nova.api.openstack import wsgi
+from nova.compute import api as compute_api
+from nova.openstack.common import jsonutils
+from nova import test
+from nova.tests.api.openstack import fakes
+
+
+UUID = 'abc'
+
+
+def fake_get_diagnostics(self, _context, instance_uuid):
+ return {'data': 'Some diagnostic info'}
+
+
+def fake_instance_get(self, _context, instance_uuid):
+ if instance_uuid != UUID:
+ raise Exception("Invalid UUID")
+ return {'uuid': instance_uuid}
+
+
+class ServerDiagnosticsTest(test.TestCase):
+
+ def setUp(self):
+ super(ServerDiagnosticsTest, self).setUp()
+ self.stubs.Set(compute_api.API, 'get_diagnostics',
+ fake_get_diagnostics)
+ self.stubs.Set(compute_api.API, 'get', fake_instance_get)
+
+ self.router = compute.APIRouterV3(init_only=('servers', 'os-server-diagnostics'))
+
+ def test_get_diagnostics(self):
+ req = fakes.HTTPRequestV3.blank(
+ '/servers/%s/os-server-diagnostics' % UUID)
+ res = req.get_response(self.router)
+ output = jsonutils.loads(res.body)
+ self.assertEqual(output, {'data': 'Some diagnostic info'})
+
+
+class TestServerDiagnosticsXMLSerializer(test.TestCase):
+ namespace = wsgi.XMLNS_V11
+
+ def _tag(self, elem):
+ tagname = elem.tag
+ self.assertEqual(tagname[0], '{')
+ tmp = tagname.partition('}')
+ namespace = tmp[0][1:]
+ self.assertEqual(namespace, self.namespace)
+ return tmp[2]
+
+ def test_index_serializer(self):
+ serializer = server_diagnostics.ServerDiagnosticsTemplate()
+ exemplar = dict(diag1='foo', diag2='bar')
+ text = serializer.serialize(exemplar)
+
+ tree = etree.fromstring(text)
+
+ self.assertEqual('diagnostics', self._tag(tree))
+ self.assertEqual(len(tree), len(exemplar))
+ for child in tree:
+ tag = self._tag(child)
+ self.assertTrue(tag in exemplar)
+ self.assertEqual(child.text, exemplar[tag])
diff --git a/nova/tests/api/openstack/compute/plugins/v3/test_servers.py b/nova/tests/api/openstack/compute/plugins/v3/test_servers.py
index da17d8fd5..4505a1750 100644
--- a/nova/tests/api/openstack/compute/plugins/v3/test_servers.py
+++ b/nova/tests/api/openstack/compute/plugins/v3/test_servers.py
@@ -228,7 +228,7 @@ class ServersControllerTest(test.TestCase):
self.assertEquals(res, [(None, None, port)])
def test_get_server_by_uuid(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
res_dict = self.controller.show(req, FAKE_UUID)
self.assertEqual(res_dict['server']['id'], FAKE_UUID)
@@ -246,7 +246,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get',
return_instance_with_host)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
server1 = self.controller.show(req, FAKE_UUID)
server2 = self.controller.show(req, FAKE_UUID)
@@ -255,11 +255,11 @@ class ServersControllerTest(test.TestCase):
def test_get_server_by_id(self):
self.flags(use_ipv6=True)
- image_bookmark = "http://localhost/fake/images/10"
- flavor_bookmark = "http://localhost/fake/flavors/1"
+ image_bookmark = "http://localhost/images/10"
+ flavor_bookmark = "http://localhost/flavors/1"
uuid = FAKE_UUID
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % uuid)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % uuid)
res_dict = self.controller.show(req, uuid)
expected_server = {
@@ -305,11 +305,11 @@ class ServersControllerTest(test.TestCase):
"links": [
{
"rel": "self",
- "href": "http://localhost/v3/fake/servers/%s" % uuid,
+ "href": "http://localhost/v3/servers/%s" % uuid,
},
{
"rel": "bookmark",
- "href": "http://localhost/fake/servers/%s" % uuid,
+ "href": "http://localhost/servers/%s" % uuid,
},
],
}
@@ -318,15 +318,15 @@ class ServersControllerTest(test.TestCase):
self.assertThat(res_dict, matchers.DictMatches(expected_server))
def test_get_server_with_active_status_by_id(self):
- image_bookmark = "http://localhost/fake/images/10"
- flavor_bookmark = "http://localhost/fake/flavors/1"
+ image_bookmark = "http://localhost/images/10"
+ flavor_bookmark = "http://localhost/flavors/1"
new_return_server = fakes.fake_instance_get(
vm_state=vm_states.ACTIVE, progress=100)
self.stubs.Set(db, 'instance_get_by_uuid', new_return_server)
uuid = FAKE_UUID
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % uuid)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % uuid)
res_dict = self.controller.show(req, uuid)
expected_server = {
"server": {
@@ -371,11 +371,11 @@ class ServersControllerTest(test.TestCase):
"links": [
{
"rel": "self",
- "href": "http://localhost/v3/fake/servers/%s" % uuid,
+ "href": "http://localhost/v3/servers/%s" % uuid,
},
{
"rel": "bookmark",
- "href": "http://localhost/fake/servers/%s" % uuid,
+ "href": "http://localhost/servers/%s" % uuid,
},
],
}
@@ -385,9 +385,9 @@ class ServersControllerTest(test.TestCase):
def test_get_server_with_id_image_ref_by_id(self):
image_ref = "10"
- image_bookmark = "http://localhost/fake/images/10"
+ image_bookmark = "http://localhost/images/10"
flavor_id = "1"
- flavor_bookmark = "http://localhost/fake/flavors/1"
+ flavor_bookmark = "http://localhost/flavors/1"
new_return_server = fakes.fake_instance_get(
vm_state=vm_states.ACTIVE, image_ref=image_ref,
@@ -395,7 +395,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_by_uuid', new_return_server)
uuid = FAKE_UUID
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % uuid)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % uuid)
res_dict = self.controller.show(req, uuid)
expected_server = {
"server": {
@@ -440,11 +440,11 @@ class ServersControllerTest(test.TestCase):
"links": [
{
"rel": "self",
- "href": "http://localhost/v3/fake/servers/%s" % uuid,
+ "href": "http://localhost/v3/servers/%s" % uuid,
},
{
"rel": "bookmark",
- "href": "http://localhost/fake/servers/%s" % uuid,
+ "href": "http://localhost/servers/%s" % uuid,
},
],
}
@@ -484,7 +484,7 @@ class ServersControllerTest(test.TestCase):
return_server = fakes.fake_instance_get(nw_cache=nw_cache)
self.stubs.Set(db, 'instance_get_by_uuid', return_server)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s/ips' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s/ips' % FAKE_UUID)
res_dict = self.ips_controller.index(req, FAKE_UUID)
expected = {
@@ -504,7 +504,7 @@ class ServersControllerTest(test.TestCase):
self.assertThat(res_dict, matchers.DictMatches(expected))
def test_get_server_addresses_nonexistent_network(self):
- url = '/v3/fake/servers/%s/ips/network_0' % FAKE_UUID
+ url = '/v3/servers/%s/ips/network_0' % FAKE_UUID
req = fakes.HTTPRequestV3.blank(url)
self.assertRaises(webob.exc.HTTPNotFound, self.ips_controller.show,
req, FAKE_UUID, 'network_0')
@@ -516,7 +516,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_by_uuid', fake_instance_get)
server_id = str(uuid.uuid4())
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s/ips' % server_id)
+ req = fakes.HTTPRequestV3.blank('/servers/%s/ips' % server_id)
self.assertRaises(webob.exc.HTTPNotFound,
self.ips_controller.index, req, server_id)
@@ -524,14 +524,14 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_all_by_filters',
return_servers_empty)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
res_dict = self.controller.index(req)
num_servers = len(res_dict['servers'])
self.assertEqual(0, num_servers)
def test_get_server_list_with_reservation_id(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?reservation_id=foo')
+ req = fakes.HTTPRequestV3.blank('/servers?reservation_id=foo')
res_dict = self.controller.index(req)
i = 0
@@ -540,7 +540,7 @@ class ServersControllerTest(test.TestCase):
i += 1
def test_get_server_list_with_reservation_id_empty(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/detail?'
+ req = fakes.HTTPRequestV3.blank('/servers/detail?'
'reservation_id=foo')
res_dict = self.controller.detail(req)
@@ -550,7 +550,7 @@ class ServersControllerTest(test.TestCase):
i += 1
def test_get_server_list_with_reservation_id_details(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/detail?'
+ req = fakes.HTTPRequestV3.blank('/servers/detail?'
'reservation_id=foo')
res_dict = self.controller.detail(req)
@@ -560,7 +560,7 @@ class ServersControllerTest(test.TestCase):
i += 1
def test_get_server_list(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
res_dict = self.controller.index(req)
self.assertEqual(len(res_dict['servers']), 5)
@@ -572,18 +572,18 @@ class ServersControllerTest(test.TestCase):
expected_links = [
{
"rel": "self",
- "href": "http://localhost/v3/fake/servers/%s" % s['id'],
+ "href": "http://localhost/v3/servers/%s" % s['id'],
},
{
"rel": "bookmark",
- "href": "http://localhost/fake/servers/%s" % s['id'],
+ "href": "http://localhost/servers/%s" % s['id'],
},
]
self.assertEqual(s['links'], expected_links)
def test_get_servers_with_limit(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?limit=3')
+ req = fakes.HTTPRequestV3.blank('/servers?limit=3')
res_dict = self.controller.index(req)
servers = res_dict['servers']
@@ -593,14 +593,14 @@ class ServersControllerTest(test.TestCase):
servers_links = res_dict['servers_links']
self.assertEqual(servers_links[0]['rel'], 'next')
href_parts = urlparse.urlparse(servers_links[0]['href'])
- self.assertEqual('/v3/fake/servers', href_parts.path)
+ self.assertEqual('/v3/servers', href_parts.path)
params = urlparse.parse_qs(href_parts.query)
expected_params = {'limit': ['3'],
'marker': [fakes.get_fake_uuid(2)]}
self.assertThat(params, matchers.DictMatches(expected_params))
def test_get_servers_with_limit_bad_value(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?limit=aaa')
+ req = fakes.HTTPRequestV3.blank('/servers?limit=aaa')
self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.index, req)
@@ -608,14 +608,14 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_all_by_filters',
return_servers_empty)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/detail')
+ req = fakes.HTTPRequestV3.blank('/servers/detail')
res_dict = self.controller.index(req)
num_servers = len(res_dict['servers'])
self.assertEqual(0, num_servers)
def test_get_server_details_with_limit(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/detail?limit=3')
+ req = fakes.HTTPRequestV3.blank('/servers/detail?limit=3')
res = self.controller.detail(req)
servers = res['servers']
@@ -626,18 +626,18 @@ class ServersControllerTest(test.TestCase):
self.assertEqual(servers_links[0]['rel'], 'next')
href_parts = urlparse.urlparse(servers_links[0]['href'])
- self.assertEqual('/v3/fake/servers', href_parts.path)
+ self.assertEqual('/v3/servers', href_parts.path)
params = urlparse.parse_qs(href_parts.query)
expected = {'limit': ['3'], 'marker': [fakes.get_fake_uuid(2)]}
self.assertThat(params, matchers.DictMatches(expected))
def test_get_server_details_with_limit_bad_value(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/detail?limit=aaa')
+ req = fakes.HTTPRequestV3.blank('/servers/detail?limit=aaa')
self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.detail, req)
def test_get_server_details_with_limit_and_other_params(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/detail'
+ req = fakes.HTTPRequestV3.blank('/servers/detail'
'?limit=3&blah=2:t')
res = self.controller.detail(req)
@@ -649,36 +649,36 @@ class ServersControllerTest(test.TestCase):
self.assertEqual(servers_links[0]['rel'], 'next')
href_parts = urlparse.urlparse(servers_links[0]['href'])
- self.assertEqual('/v3/fake/servers', href_parts.path)
+ self.assertEqual('/v3/servers', href_parts.path)
params = urlparse.parse_qs(href_parts.query)
expected = {'limit': ['3'], 'blah': ['2:t'],
'marker': [fakes.get_fake_uuid(2)]}
self.assertThat(params, matchers.DictMatches(expected))
def test_get_servers_with_too_big_limit(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?limit=30')
+ req = fakes.HTTPRequestV3.blank('/servers?limit=30')
res_dict = self.controller.index(req)
self.assertTrue('servers_links' not in res_dict)
def test_get_servers_with_bad_limit(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?limit=asdf')
+ req = fakes.HTTPRequestV3.blank('/servers?limit=asdf')
self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.index, req)
def test_get_servers_with_marker(self):
- url = '/v3/fake/servers?marker=%s' % fakes.get_fake_uuid(2)
+ url = '/v3/servers?marker=%s' % fakes.get_fake_uuid(2)
req = fakes.HTTPRequestV3.blank(url)
servers = self.controller.index(req)['servers']
self.assertEqual([s['name'] for s in servers], ["server4", "server5"])
def test_get_servers_with_limit_and_marker(self):
- url = '/v3/fake/servers?limit=2&marker=%s' % fakes.get_fake_uuid(1)
+ url = '/v3/servers?limit=2&marker=%s' % fakes.get_fake_uuid(1)
req = fakes.HTTPRequestV3.blank(url)
servers = self.controller.index(req)['servers']
self.assertEqual([s['name'] for s in servers], ['server3', 'server4'])
def test_get_servers_with_bad_marker(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?limit=2&marker=asdf')
+ req = fakes.HTTPRequestV3.blank('/servers?limit=2&marker=asdf')
self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.index, req)
@@ -692,7 +692,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?unknownoption=whee')
+ req = fakes.HTTPRequestV3.blank('/servers?unknownoption=whee')
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 1)
@@ -711,7 +711,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?image=12345')
+ req = fakes.HTTPRequestV3.blank('/servers?image=12345')
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 1)
@@ -728,7 +728,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_all_by_filters',
fake_get_all)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?tenant_id=fake',
+ req = fakes.HTTPRequestV3.blank('/servers?tenant_id=fake',
use_admin_context=True)
res = self.controller.index(req)
@@ -744,7 +744,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_all_by_filters',
fake_get_all)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers',
+ req = fakes.HTTPRequestV3.blank('/servers',
use_admin_context=True)
res = self.controller.index(req)
@@ -769,7 +769,7 @@ class ServersControllerTest(test.TestCase):
common_policy.set_rules(common_policy.Rules(rules))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?all_tenants=1')
+ req = fakes.HTTPRequestV3.blank('/servers?all_tenants=1')
res = self.controller.index(req)
self.assertTrue('servers' in res)
@@ -791,7 +791,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_all_by_filters',
fake_get_all)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?all_tenants=1')
+ req = fakes.HTTPRequestV3.blank('/servers?all_tenants=1')
self.assertRaises(exception.PolicyNotAuthorized,
self.controller.index, req)
@@ -809,14 +809,14 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?flavor=12345')
+ req = fakes.HTTPRequestV3.blank('/servers?flavor=12345')
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 1)
self.assertEqual(servers[0]['id'], server_uuid)
def test_get_servers_with_bad_flavor(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?flavor=abcde')
+ req = fakes.HTTPRequestV3.blank('/servers?flavor=abcde')
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 0)
@@ -834,7 +834,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?status=active')
+ req = fakes.HTTPRequestV3.blank('/servers?status=active')
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 1)
@@ -842,13 +842,13 @@ class ServersControllerTest(test.TestCase):
def test_get_servers_invalid_status(self):
# Test getting servers by invalid status.
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?status=baloney',
+ req = fakes.HTTPRequestV3.blank('/servers?status=baloney',
use_admin_context=False)
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 0)
def test_get_servers_deleted_status_as_user(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?status=deleted',
+ req = fakes.HTTPRequestV3.blank('/servers?status=deleted',
use_admin_context=False)
self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.detail, req)
@@ -866,7 +866,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?status=deleted',
+ req = fakes.HTTPRequestV3.blank('/servers?status=deleted',
use_admin_context=True)
servers = self.controller.detail(req)['servers']
@@ -886,7 +886,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?name=whee.*')
+ req = fakes.HTTPRequestV3.blank('/servers?name=whee.*')
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 1)
@@ -909,7 +909,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
params = 'changes-since=2011-01-24T17:08:01Z'
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?%s' % params)
+ req = fakes.HTTPRequestV3.blank('/servers?%s' % params)
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 1)
@@ -917,7 +917,7 @@ class ServersControllerTest(test.TestCase):
def test_get_servers_allows_changes_since_bad_value(self):
params = 'changes-since=asdf'
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?%s' % params)
+ req = fakes.HTTPRequestV3.blank('/servers?%s' % params)
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.index, req)
def test_get_servers_admin_filters_as_user(self):
@@ -943,7 +943,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
query_str = "name=foo&ip=10.*&status=active&unknown_option=meow"
- req = fakes.HTTPRequest.blank('/v3/fake/servers?%s' % query_str)
+ req = fakes.HTTPRequest.blank('/servers?%s' % query_str)
res = self.controller.index(req)
servers = res['servers']
@@ -972,7 +972,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
query_str = "name=foo&ip=10.*&status=active&unknown_option=meow"
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?%s' % query_str,
+ req = fakes.HTTPRequestV3.blank('/servers?%s' % query_str,
use_admin_context=True)
servers = self.controller.index(req)['servers']
@@ -994,7 +994,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?ip=10\..*')
+ req = fakes.HTTPRequestV3.blank('/servers?ip=10\..*')
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 1)
@@ -1016,7 +1016,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers?ip6=ffff.*',
+ req = fakes.HTTPRequestV3.blank('/servers?ip6=ffff.*',
use_admin_context=True)
servers = self.controller.index(req)['servers']
@@ -1028,7 +1028,7 @@ class ServersControllerTest(test.TestCase):
fakes.fake_instance_get(name='server_test',
access_ipv4='0.0.0.0',
access_ipv6='beef::0123'))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {
@@ -1045,7 +1045,7 @@ class ServersControllerTest(test.TestCase):
self.assertEqual(res_dict['server']['accessIPv6'], 'beef::0123')
def test_update_server_invalid_xml_raises_lookup(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/xml'
#xml request which raises LookupError
@@ -1057,7 +1057,7 @@ class ServersControllerTest(test.TestCase):
self.assertEqual(res.status_int, 400)
def test_update_server_invalid_xml_raises_expat(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/xml'
#xml request which raises ExpatError
@@ -1071,7 +1071,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_name(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(name='server_test'))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'name': 'server_test'}}
@@ -1084,7 +1084,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_name_too_long(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(name='server_test'))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'name': 'x' * 256}}
@@ -1095,7 +1095,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_access_ipv4(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(access_ipv4='0.0.0.0'))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'accessIPv4': '0.0.0.0'}}
@@ -1108,7 +1108,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_access_ipv4_bad_format(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(access_ipv4='0.0.0.0'))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'accessIPv4': 'bad_format'}}
@@ -1119,7 +1119,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_access_ipv4_none(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(access_ipv4='0.0.0.0'))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'accessIPv4': None}}
@@ -1132,7 +1132,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_access_ipv4_blank(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(access_ipv4='0.0.0.0'))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'accessIPv4': ''}}
@@ -1145,7 +1145,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_access_ipv6(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(access_ipv6='beef::0123'))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'accessIPv6': 'beef::0123'}}
@@ -1158,7 +1158,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_access_ipv6_bad_format(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(access_ipv6='beef::0123'))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'accessIPv6': 'bad_format'}}
@@ -1169,7 +1169,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_access_ipv6_none(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(access_ipv6='beef::0123'))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'accessIPv6': None}}
@@ -1182,7 +1182,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_access_ipv6_blank(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(access_ipv6='beef::0123'))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'accessIPv6': ''}}
@@ -1193,7 +1193,7 @@ class ServersControllerTest(test.TestCase):
self.assertEqual(res_dict['server']['accessIPv6'], '')
def test_update_server_personality(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {
@@ -1223,7 +1223,7 @@ class ServersControllerTest(test.TestCase):
# self.stubs.Set(db, 'instance_get',
# return_server_with_attributes(name='server_test'))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = "application/json"
req.body = jsonutils.dumps(body)
@@ -1237,7 +1237,7 @@ class ServersControllerTest(test.TestCase):
raise exception.InstanceNotFound(instance_id='fake')
self.stubs.Set(compute_api.API, 'get', fake_get)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'name': 'server_test'}}
@@ -1250,7 +1250,7 @@ class ServersControllerTest(test.TestCase):
raise exception.InstanceNotFound(instance_id='fake')
self.stubs.Set(compute_api.API, 'update', fake_update)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'name': 'server_test'}}
@@ -1263,7 +1263,7 @@ class ServersControllerTest(test.TestCase):
fakes.fake_instance_get(vm_state=vm_states.ACTIVE))
# proper local hrefs must start with 'http://localhost/v3/'
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
- image_href = 'http://localhost/v3/fake/images/%s' % image_uuid
+ image_href = 'http://localhost/v3/images/%s' % image_uuid
access_ipv4 = 'bad_format'
access_ipv6 = 'fead::1234'
body = {
@@ -1285,7 +1285,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/a/action')
+ req = fakes.HTTPRequestV3.blank('/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1297,7 +1297,7 @@ class ServersControllerTest(test.TestCase):
fakes.fake_instance_get(vm_state=vm_states.ACTIVE))
# proper local hrefs must start with 'http://localhost/v3/'
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
- image_href = 'http://localhost/v3/fake/images/%s' % image_uuid
+ image_href = 'http://localhost/v3/images/%s' % image_uuid
access_ipv4 = '0.0.0.0'
access_ipv6 = 'fead::1234'
body = {
@@ -1319,7 +1319,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/a/action')
+ req = fakes.HTTPRequestV3.blank('/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1331,7 +1331,7 @@ class ServersControllerTest(test.TestCase):
fakes.fake_instance_get(vm_state=vm_states.ACTIVE))
# proper local hrefs must start with 'http://localhost/v3/'
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
- image_href = 'http://localhost/v3/fake/images/%s' % image_uuid
+ image_href = 'http://localhost/v3/images/%s' % image_uuid
access_ipv4 = '0.0.0.0'
access_ipv6 = 'fead::1234'
body = {
@@ -1353,7 +1353,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/a/action')
+ req = fakes.HTTPRequestV3.blank('/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1365,7 +1365,7 @@ class ServersControllerTest(test.TestCase):
fakes.fake_instance_get(vm_state=vm_states.ACTIVE))
# proper local hrefs must start with 'http://localhost/v3/'
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
- image_href = 'http://localhost/v3/fake/images/%s' % image_uuid
+ image_href = 'http://localhost/v3/images/%s' % image_uuid
access_ipv4 = '0.0.0.0'
access_ipv6 = 'fead::1234'
body = {
@@ -1387,7 +1387,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/a/action')
+ req = fakes.HTTPRequestV3.blank('/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1407,7 +1407,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_by_uuid',
fakes.fake_instance_get(vm_state=vm_states.ACTIVE))
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
- image_href = 'http://localhost/v3/fake/images/%s' % image_uuid
+ image_href = 'http://localhost/v3/images/%s' % image_uuid
body = {
'rebuild': {
'name': 'new_name',
@@ -1415,7 +1415,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/a/action')
+ req = fakes.HTTPRequestV3.blank('/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1435,7 +1435,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_by_uuid',
fakes.fake_instance_get(vm_state=vm_states.ACTIVE))
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
- image_href = 'http://localhost/v3/fake/images/%s' % image_uuid
+ image_href = 'http://localhost/v3/images/%s' % image_uuid
body = {
'rebuild': {
'name': 'new_name',
@@ -1443,7 +1443,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/a/action')
+ req = fakes.HTTPRequestV3.blank('/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1464,7 +1464,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_by_uuid',
fakes.fake_instance_get(vm_state=vm_states.ACTIVE))
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
- image_href = 'http://localhost/v3/fake/images/%s' % image_uuid
+ image_href = 'http://localhost/v3/images/%s' % image_uuid
body = {
'rebuild': {
'name': 'new_name',
@@ -1472,7 +1472,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/a/action')
+ req = fakes.HTTPRequestV3.blank('/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1490,7 +1490,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_by_uuid',
fakes.fake_instance_get(vm_state=vm_states.ACTIVE))
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
- image_href = 'http://localhost/v3/fake/images/%s' % image_uuid
+ image_href = 'http://localhost/v3/images/%s' % image_uuid
body = {
'rebuild': {
'name': 'new_name',
@@ -1498,7 +1498,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/a/action')
+ req = fakes.HTTPRequestV3.blank('/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1510,7 +1510,7 @@ class ServersControllerTest(test.TestCase):
fakes.fake_instance_get(vm_state=vm_states.ACTIVE))
# proper local hrefs must start with 'http://localhost/v3/'
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
- image_href = 'http://localhost/v3/fake/images/%s' % image_uuid
+ image_href = 'http://localhost/v3/images/%s' % image_uuid
access_ipv4 = '1.2.3.4'
access_ipv6 = 'bad_format'
body = {
@@ -1532,7 +1532,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/a/action')
+ req = fakes.HTTPRequestV3.blank('/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1545,7 +1545,7 @@ class ServersControllerTest(test.TestCase):
"links": [
{
"rel": "bookmark",
- "href": 'http://localhost/fake/flavors/1',
+ "href": 'http://localhost/flavors/1',
},
],
}
@@ -1554,11 +1554,11 @@ class ServersControllerTest(test.TestCase):
"links": [
{
"rel": "bookmark",
- "href": 'http://localhost/fake/images/10',
+ "href": 'http://localhost/images/10',
},
],
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/detail')
+ req = fakes.HTTPRequestV3.blank('/servers/detail')
res_dict = self.controller.detail(req)
for i, s in enumerate(res_dict['servers']):
@@ -1586,7 +1586,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_all_by_filters',
return_servers_with_host)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/detail')
+ req = fakes.HTTPRequestV3.blank('/servers/detail')
res_dict = self.controller.detail(req)
server_list = res_dict['servers']
@@ -1601,7 +1601,7 @@ class ServersControllerTest(test.TestCase):
def _delete_server_instance(self, uuid=FAKE_UUID):
fakes.stub_out_instance_quota(self.stubs, 0, 10)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % uuid)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % uuid)
req.method = 'DELETE'
self.server_delete_called = False
@@ -1626,7 +1626,7 @@ class ServersControllerTest(test.TestCase):
def test_delete_server_instance_while_building(self):
fakes.stub_out_instance_quota(self.stubs, 0, 10)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'DELETE'
self.server_delete_called = False
@@ -1640,7 +1640,7 @@ class ServersControllerTest(test.TestCase):
self.assertEqual(self.server_delete_called, True)
def test_delete_server_instance_while_resize(self):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'DELETE'
self.server_delete_called = False
@@ -1673,7 +1673,7 @@ class ServerStatusTest(test.TestCase):
fakes.fake_instance_get(vm_state=vm_state,
task_state=task_state))
- request = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ request = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
return self.controller.show(request, FAKE_UUID)
def test_active(self):
@@ -1699,7 +1699,7 @@ class ServerStatusTest(test.TestCase):
rule = {'compute:reboot':
common_policy.parse_rule('role:admin')}
common_policy.set_rules(common_policy.Rules(rule))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/1234/action')
+ req = fakes.HTTPRequestV3.blank('/servers/1234/action')
self.assertRaises(exception.PolicyNotAuthorized,
self.controller._action_reboot, req, '1234',
{'reboot': {'type': 'HARD'}})
@@ -1727,7 +1727,7 @@ class ServerStatusTest(test.TestCase):
rule = {'compute:confirm_resize':
common_policy.parse_rule('role:admin')}
common_policy.set_rules(common_policy.Rules(rule))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/1234/action')
+ req = fakes.HTTPRequestV3.blank('/servers/1234/action')
self.assertRaises(exception.PolicyNotAuthorized,
self.controller._action_confirm_resize, req, '1234', {})
@@ -1749,7 +1749,7 @@ class ServerStatusTest(test.TestCase):
rule = {'compute:revert_resize':
common_policy.parse_rule('role:admin')}
common_policy.set_rules(common_policy.Rules(rule))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/1234/action')
+ req = fakes.HTTPRequestV3.blank('/servers/1234/action')
self.assertRaises(exception.PolicyNotAuthorized,
self.controller._action_revert_resize, req, '1234', {})
@@ -1881,7 +1881,7 @@ class ServersControllerCreateTest(test.TestCase):
name='server_test', imageRef=image_uuid, flavorRef=2,
metadata={'hello': 'world', 'open': 'stack'},
personality={}))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1902,7 +1902,7 @@ class ServersControllerCreateTest(test.TestCase):
'flavorRef': flavor_ref,
}
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1943,7 +1943,7 @@ class ServersControllerCreateTest(test.TestCase):
self.addCleanup(image_service.update, context, image_uuid,
{'status': 'active'})
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
body = dict(server=dict(
name='server_test', imageRef=image_uuid, flavorRef=2,
@@ -1973,7 +1973,7 @@ class ServersControllerCreateTest(test.TestCase):
self.addCleanup(image_service.update, context, image_uuid,
{'size': orig_size})
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
body = dict(server=dict(name='server_test',
imageRef=image_uuid,
@@ -2001,7 +2001,7 @@ class ServersControllerCreateTest(test.TestCase):
# 'flavorRef': flavor_ref,
# }
# }
- # req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ # req = fakes.HTTPRequestV3.blank('/servers')
# req.method = 'POST'
# req.body = jsonutils.dumps(body)
# req.headers["content-type"] = "application/json"
@@ -2025,7 +2025,7 @@ class ServersControllerCreateTest(test.TestCase):
# 'flavorRef': flavor_ref,
# }
# }
- # req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ # req = fakes.HTTPRequestV3.blank('/servers')
# req.method = 'POST'
# req.body = jsonutils.dumps(body)
# req.headers["content-type"] = "application/json"
@@ -2049,7 +2049,7 @@ class ServersControllerCreateTest(test.TestCase):
# 'flavorRef': flavor_ref,
# }
# }
- # req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ # req = fakes.HTTPRequestV3.blank('/servers')
# req.method = 'POST'
# req.body = jsonutils.dumps(body)
# req.headers["content-type"] = "application/json"
@@ -2073,7 +2073,7 @@ class ServersControllerCreateTest(test.TestCase):
# 'flavorRef': flavor_ref,
# }
# }
- # req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ # req = fakes.HTTPRequestV3.blank('/servers')
# req.method = 'POST'
# req.body = jsonutils.dumps(body)
# req.headers["content-type"] = "application/json"
@@ -2103,7 +2103,7 @@ class ServersControllerCreateTest(test.TestCase):
# }
# }
- # req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ # req = fakes.HTTPRequestV3.blank('/servers')
# req.method = 'POST'
# req.body = jsonutils.dumps(body)
# req.headers["content-type"] = "application/json"
@@ -2134,7 +2134,7 @@ class ServersControllerCreateTest(test.TestCase):
# }
# }
- # req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ # req = fakes.HTTPRequestV3.blank('/servers')
# req.method = 'POST'
# req.body = jsonutils.dumps(body)
# req.headers["content-type"] = "application/json"
@@ -2165,7 +2165,7 @@ class ServersControllerCreateTest(test.TestCase):
# }
# }
- # req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ # req = fakes.HTTPRequestV3.blank('/servers')
# req.method = 'POST'
# req.body = jsonutils.dumps(body)
# req.headers["content-type"] = "application/json"
@@ -2247,7 +2247,7 @@ class ServersControllerCreateTest(test.TestCase):
# }
# }
- # req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ # req = fakes.HTTPRequestV3.blank('/servers')
# req.method = 'POST'
# req.body = jsonutils.dumps(body)
# req.headers["content-type"] = "application/json"
@@ -2272,7 +2272,7 @@ class ServersControllerCreateTest(test.TestCase):
# }
# }
- # req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ # req = fakes.HTTPRequestV3.blank('/servers')
# req.method = 'POST'
# req.body = jsonutils.dumps(body)
# req.headers["content-type"] = "application/json"
@@ -2281,8 +2281,8 @@ class ServersControllerCreateTest(test.TestCase):
def test_create_instance_image_ref_is_bookmark(self):
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
- image_href = 'http://localhost/fake/images/%s' % image_uuid
- flavor_ref = 'http://localhost/fake/flavors/3'
+ image_href = 'http://localhost/images/%s' % image_uuid
+ flavor_ref = 'http://localhost/flavors/3'
body = {
'server': {
'name': 'server_test',
@@ -2291,7 +2291,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2302,8 +2302,8 @@ class ServersControllerCreateTest(test.TestCase):
def test_create_instance_image_ref_is_invalid(self):
image_uuid = 'this_is_not_a_valid_uuid'
- image_href = 'http://localhost/fake/images/%s' % image_uuid
- flavor_ref = 'http://localhost/fake/flavors/3'
+ image_href = 'http://localhost/images/%s' % image_uuid
+ flavor_ref = 'http://localhost/flavors/3'
body = {
'server': {
'name': 'server_test',
@@ -2312,7 +2312,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2330,7 +2330,7 @@ class ServersControllerCreateTest(test.TestCase):
server.pop('imageRef', None)
server.update(params)
body = dict(server=server)
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2764,8 +2764,8 @@ class ServersControllerCreateTest(test.TestCase):
def test_create_instance_with_access_ip(self):
# proper local hrefs must start with 'http://localhost/v3/'
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
- image_href = 'http://localhost/v3/fake/images/%s' % image_uuid
- flavor_ref = 'http://localhost/fake/flavors/3'
+ image_href = 'http://localhost/v3/images/%s' % image_uuid
+ flavor_ref = 'http://localhost/flavors/3'
access_ipv4 = '1.2.3.4'
access_ipv6 = 'fead::1234'
body = {
@@ -2788,7 +2788,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2804,8 +2804,8 @@ class ServersControllerCreateTest(test.TestCase):
# proper local hrefs must start with 'http://localhost/v3/'
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
- image_href = 'http://localhost/v3/fake/images/%s' % image_uuid
- flavor_ref = 'http://localhost/fake/flavors/3'
+ image_href = 'http://localhost/v3/images/%s' % image_uuid
+ flavor_ref = 'http://localhost/flavors/3'
access_ipv4 = '1.2.3.4'
access_ipv6 = 'fead::1234'
body = {
@@ -2828,7 +2828,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2841,8 +2841,8 @@ class ServersControllerCreateTest(test.TestCase):
def test_create_instance_bad_format_access_ip_v4(self):
# proper local hrefs must start with 'http://localhost/v3/'
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
- image_href = 'http://localhost/v3/fake/images/%s' % image_uuid
- flavor_ref = 'http://localhost/fake/flavors/3'
+ image_href = 'http://localhost/v3/images/%s' % image_uuid
+ flavor_ref = 'http://localhost/flavors/3'
access_ipv4 = 'bad_format'
access_ipv6 = 'fead::1234'
body = {
@@ -2865,7 +2865,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2875,8 +2875,8 @@ class ServersControllerCreateTest(test.TestCase):
def test_create_instance_bad_format_access_ip_v6(self):
# proper local hrefs must start with 'http://localhost/v3/'
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
- image_href = 'http://localhost/v3/fake/images/%s' % image_uuid
- flavor_ref = 'http://localhost/fake/flavors/3'
+ image_href = 'http://localhost/v3/images/%s' % image_uuid
+ flavor_ref = 'http://localhost/flavors/3'
access_ipv4 = '1.2.3.4'
access_ipv6 = 'bad_format'
body = {
@@ -2899,7 +2899,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2930,7 +2930,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2961,7 +2961,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2996,7 +2996,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3024,7 +3024,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3048,7 +3048,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3072,7 +3072,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3096,7 +3096,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3110,7 +3110,7 @@ class ServersControllerCreateTest(test.TestCase):
body = dict(server=dict(
name='server_test', imageRef=image_href, flavorRef=flavor_ref,
key_name='nonexistentkey'))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3124,7 +3124,7 @@ class ServersControllerCreateTest(test.TestCase):
body = dict(server=dict(
name='server_test', imageRef=image_href, flavorRef=flavor_ref,
key_name='key'))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3140,7 +3140,7 @@ class ServersControllerCreateTest(test.TestCase):
name='server_test', imageRef=image_href, flavorRef=flavor_ref,
metadata={'hello': 'world', 'open': 'stack'},
personality={}))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3149,13 +3149,13 @@ class ServersControllerCreateTest(test.TestCase):
self.controller.create, req, body)
def test_create_instance_invalid_flavor_id_int(self):
- image_href = 'http://localhost/v3/fake/images/2'
+ image_href = 'http://localhost/v3/images/2'
flavor_ref = -1
body = dict(server=dict(
name='server_test', imageRef=image_href, flavorRef=flavor_ref,
metadata={'hello': 'world', 'open': 'stack'},
personality={}))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3170,7 +3170,7 @@ class ServersControllerCreateTest(test.TestCase):
name='server_test', imageRef=image_href, flavorRef=flavor_ref,
metadata={'hello': 'world', 'open': 'stack'},
personality={}))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3198,7 +3198,7 @@ class ServersControllerCreateTest(test.TestCase):
# },
# }
- # req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ # req = fakes.HTTPRequestV3.blank('/servers')
# req.method = 'POST'
# req.body = jsonutils.dumps(body)
# req.headers["content-type"] = "application/json"
@@ -3227,7 +3227,7 @@ class ServersControllerCreateTest(test.TestCase):
# },
# }
- # req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ # req = fakes.HTTPRequestV3.blank('/servers')
# req.method = 'POST'
# req.body = jsonutils.dumps(body)
# req.headers["content-type"] = "application/json"
@@ -3256,7 +3256,7 @@ class ServersControllerCreateTest(test.TestCase):
# },
# }
- # req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ # req = fakes.HTTPRequestV3.blank('/servers')
# req.method = 'POST'
# req.body = jsonutils.dumps(body)
# req.headers["content-type"] = "application/json"
@@ -3283,7 +3283,7 @@ class ServersControllerCreateTest(test.TestCase):
# },
# }
- # req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ # req = fakes.HTTPRequestV3.blank('/servers')
# req.method = 'POST'
# req.body = jsonutils.dumps(body)
# req.headers["content-type"] = "application/json"
@@ -3311,7 +3311,7 @@ class ServersControllerCreateTest(test.TestCase):
name='server_test', imageRef=image_href, flavorRef=flavor_ref,
metadata={'hello': 'world', 'open': 'stack'},
personality={}))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3330,7 +3330,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3350,7 +3350,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers['content-type'] = "application/json"
@@ -3371,7 +3371,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers['content-type'] = "application/json"
@@ -3392,7 +3392,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers['content-type'] = "application/json"
@@ -3430,7 +3430,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3438,8 +3438,8 @@ class ServersControllerCreateTest(test.TestCase):
self.controller.create, req, body)
def test_create_location(self):
- selfhref = 'http://localhost/v3/fake/servers/%s' % FAKE_UUID
- bookhref = 'http://localhost/fake/servers/%s' % FAKE_UUID
+ selfhref = 'http://localhost/v3/servers/%s' % FAKE_UUID
+ bookhref = 'http://localhost/servers/%s' % FAKE_UUID
image_uuid = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
image_href = 'http://localhost/v3/images/%s' % image_uuid
flavor_ref = 'http://localhost/123/flavors/3'
@@ -3461,7 +3461,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers['content-type'] = 'application/json'
@@ -3477,7 +3477,7 @@ class ServersControllerCreateTest(test.TestCase):
name='server_test', imageRef=image_uuid, flavorRef=3,
metadata={'hello': 'world', 'open': 'stack'},
personality={}))
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -4255,10 +4255,10 @@ class ServersViewBuilderTest(test.TestCase):
self.uuid = self.instance['uuid']
self.view_builder = views.servers.ViewBuilder()
- self.request = fakes.HTTPRequestV3.blank("/v2")
+ self.request = fakes.HTTPRequestV3.blank("")
def test_get_flavor_valid_instance_type(self):
- flavor_bookmark = "http://localhost/fake/flavors/1"
+ flavor_bookmark = "http://localhost/flavors/1"
expected = {"id": "1",
"links": [{"rel": "bookmark",
"href": flavor_bookmark}]}
@@ -4266,8 +4266,8 @@ class ServersViewBuilderTest(test.TestCase):
self.assertEqual(result, expected)
def test_build_server(self):
- self_link = "http://localhost/v3/fake/servers/%s" % self.uuid
- bookmark_link = "http://localhost/fake/servers/%s" % self.uuid
+ self_link = "http://localhost/v3/servers/%s" % self.uuid
+ bookmark_link = "http://localhost/servers/%s" % self.uuid
expected_server = {
"server": {
"id": self.uuid,
@@ -4296,12 +4296,12 @@ class ServersViewBuilderTest(test.TestCase):
"links": [
{
"rel": "self",
- "href": "http://localhost/v3/fake/servers/%s" %
+ "href": "http://localhost/v3/servers/%s" %
self.uuid,
},
{
"rel": "bookmark",
- "href": "http://localhost/fake/servers/%s" % self.uuid,
+ "href": "http://localhost/servers/%s" % self.uuid,
},
],
}
@@ -4311,10 +4311,10 @@ class ServersViewBuilderTest(test.TestCase):
self.assertThat(output, matchers.DictMatches(expected_server))
def test_build_server_detail(self):
- image_bookmark = "http://localhost/fake/images/5"
- flavor_bookmark = "http://localhost/fake/flavors/1"
- self_link = "http://localhost/v3/fake/servers/%s" % self.uuid
- bookmark_link = "http://localhost/fake/servers/%s" % self.uuid
+ image_bookmark = "http://localhost/images/5"
+ flavor_bookmark = "http://localhost/flavors/1"
+ self_link = "http://localhost/v3/servers/%s" % self.uuid
+ bookmark_link = "http://localhost/servers/%s" % self.uuid
expected_server = {
"server": {
"id": self.uuid,
@@ -4384,10 +4384,10 @@ class ServersViewBuilderTest(test.TestCase):
'created_at': datetime.datetime(2010, 10, 10, 12, 0, 0),
}
- image_bookmark = "http://localhost/fake/images/5"
- flavor_bookmark = "http://localhost/fake/flavors/1"
- self_link = "http://localhost/v3/fake/servers/%s" % self.uuid
- bookmark_link = "http://localhost/fake/servers/%s" % self.uuid
+ image_bookmark = "http://localhost/images/5"
+ flavor_bookmark = "http://localhost/flavors/1"
+ self_link = "http://localhost/v3/servers/%s" % self.uuid
+ bookmark_link = "http://localhost/servers/%s" % self.uuid
expected_server = {
"server": {
"id": self.uuid,
@@ -4517,10 +4517,10 @@ class ServersViewBuilderTest(test.TestCase):
'created_at': datetime.datetime(2010, 10, 10, 12, 0, 0),
}
- image_bookmark = "http://localhost/fake/images/5"
- flavor_bookmark = "http://localhost/fake/flavors/1"
- self_link = "http://localhost/v3/fake/servers/%s" % self.uuid
- bookmark_link = "http://localhost/fake/servers/%s" % self.uuid
+ image_bookmark = "http://localhost/images/5"
+ flavor_bookmark = "http://localhost/flavors/1"
+ self_link = "http://localhost/v3/servers/%s" % self.uuid
+ bookmark_link = "http://localhost/servers/%s" % self.uuid
output = self.view_builder.show(self.request, self.instance)
self.assertFalse('fault' in output['server'])
@@ -4529,10 +4529,10 @@ class ServersViewBuilderTest(test.TestCase):
#set the power state of the instance to running
self.instance['vm_state'] = vm_states.ACTIVE
self.instance['progress'] = 100
- image_bookmark = "http://localhost/fake/images/5"
- flavor_bookmark = "http://localhost/fake/flavors/1"
- self_link = "http://localhost/v3/fake/servers/%s" % self.uuid
- bookmark_link = "http://localhost/fake/servers/%s" % self.uuid
+ image_bookmark = "http://localhost/images/5"
+ flavor_bookmark = "http://localhost/flavors/1"
+ self_link = "http://localhost/v3/servers/%s" % self.uuid
+ bookmark_link = "http://localhost/servers/%s" % self.uuid
expected_server = {
"server": {
"id": self.uuid,
@@ -4591,10 +4591,10 @@ class ServersViewBuilderTest(test.TestCase):
self.instance['access_ip_v4'] = '1.2.3.4'
- image_bookmark = "http://localhost/fake/images/5"
- flavor_bookmark = "http://localhost/fake/flavors/1"
- self_link = "http://localhost/v3/fake/servers/%s" % self.uuid
- bookmark_link = "http://localhost/fake/servers/%s" % self.uuid
+ image_bookmark = "http://localhost/images/5"
+ flavor_bookmark = "http://localhost/flavors/1"
+ self_link = "http://localhost/v3/servers/%s" % self.uuid
+ bookmark_link = "http://localhost/servers/%s" % self.uuid
expected_server = {
"server": {
"id": self.uuid,
@@ -4653,10 +4653,10 @@ class ServersViewBuilderTest(test.TestCase):
self.instance['access_ip_v6'] = 'fead::1234'
- image_bookmark = "http://localhost/fake/images/5"
- flavor_bookmark = "http://localhost/fake/flavors/1"
- self_link = "http://localhost/v3/fake/servers/%s" % self.uuid
- bookmark_link = "http://localhost/fake/servers/%s" % self.uuid
+ image_bookmark = "http://localhost/images/5"
+ flavor_bookmark = "http://localhost/flavors/1"
+ self_link = "http://localhost/v3/servers/%s" % self.uuid
+ bookmark_link = "http://localhost/servers/%s" % self.uuid
expected_server = {
"server": {
"id": self.uuid,
@@ -4717,10 +4717,10 @@ class ServersViewBuilderTest(test.TestCase):
metadata.append(models.InstanceMetadata(key="Open", value="Stack"))
self.instance['metadata'] = metadata
- image_bookmark = "http://localhost/fake/images/5"
- flavor_bookmark = "http://localhost/fake/flavors/1"
- self_link = "http://localhost/v3/fake/servers/%s" % self.uuid
- bookmark_link = "http://localhost/fake/servers/%s" % self.uuid
+ image_bookmark = "http://localhost/images/5"
+ flavor_bookmark = "http://localhost/flavors/1"
+ self_link = "http://localhost/v3/servers/%s" % self.uuid
+ bookmark_link = "http://localhost/servers/%s" % self.uuid
expected_server = {
"server": {
"id": self.uuid,
@@ -5777,7 +5777,7 @@ class ServersUnprocessableEntityTestCase(test.TestCase):
self.controller = servers.ServersController(extension_info=ext_info)
def _unprocessable_server_create(self, body):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers')
+ req = fakes.HTTPRequestV3.blank('/servers')
req.method = 'POST'
self.assertRaises(webob.exc.HTTPUnprocessableEntity,
@@ -5795,7 +5795,7 @@ class ServersUnprocessableEntityTestCase(test.TestCase):
self._unprocessable_server_create(body=body)
def _unprocessable_server_update(self, body):
- req = fakes.HTTPRequestV3.blank('/v3/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequestV3.blank('/servers/%s' % FAKE_UUID)
req.method = 'PUT'
self.assertRaises(webob.exc.HTTPUnprocessableEntity,
diff --git a/nova/tests/api/openstack/compute/test_flavors.py b/nova/tests/api/openstack/compute/test_flavors.py
index 77e637044..3741fcd33 100644
--- a/nova/tests/api/openstack/compute/test_flavors.py
+++ b/nova/tests/api/openstack/compute/test_flavors.py
@@ -792,6 +792,7 @@ class ParseIsPublicTest(test.TestCase):
def test_string_none(self):
self.assertPublic(None, 'none')
+ self.assertPublic(None, 'None')
def test_other(self):
self.assertRaises(
diff --git a/nova/tests/api/openstack/compute/test_limits.py b/nova/tests/api/openstack/compute/test_limits.py
index b9dc72b1f..3dbc7bfea 100644
--- a/nova/tests/api/openstack/compute/test_limits.py
+++ b/nova/tests/api/openstack/compute/test_limits.py
@@ -32,14 +32,18 @@ from nova.openstack.common import jsonutils
from nova import test
from nova.tests.api.openstack import fakes
from nova.tests import matchers
+from nova import utils
TEST_LIMITS = [
- limits.Limit("GET", "/delayed", "^/delayed", 1, limits.PER_MINUTE),
- limits.Limit("POST", "*", ".*", 7, limits.PER_MINUTE),
- limits.Limit("POST", "/servers", "^/servers", 3, limits.PER_MINUTE),
- limits.Limit("PUT", "*", "", 10, limits.PER_MINUTE),
- limits.Limit("PUT", "/servers", "^/servers", 5, limits.PER_MINUTE),
+ limits.Limit("GET", "/delayed", "^/delayed", 1,
+ utils.TIME_UNITS['MINUTE']),
+ limits.Limit("POST", "*", ".*", 7, utils.TIME_UNITS['MINUTE']),
+ limits.Limit("POST", "/servers", "^/servers", 3,
+ utils.TIME_UNITS['MINUTE']),
+ limits.Limit("PUT", "*", "", 10, utils.TIME_UNITS['MINUTE']),
+ limits.Limit("PUT", "/servers", "^/servers", 5,
+ utils.TIME_UNITS['MINUTE']),
]
NS = {
'atom': 'http://www.w3.org/2005/Atom',
@@ -312,7 +316,7 @@ class LimitsControllerTest(BaseLimitTestSuite):
req, 1, {})
-class TestLimiter(limits.Limiter):
+class MockLimiter(limits.Limiter):
pass
@@ -331,12 +335,12 @@ class LimitMiddlewareTest(BaseLimitTestSuite):
super(LimitMiddlewareTest, self).setUp()
_limits = '(GET, *, .*, 1, MINUTE)'
self.app = limits.RateLimitingMiddleware(self._empty_app, _limits,
- "%s.TestLimiter" %
+ "%s.MockLimiter" %
self.__class__.__module__)
def test_limit_class(self):
# Test that middleware selected correct limiter class.
- assert isinstance(self.app._limiter, TestLimiter)
+ assert isinstance(self.app._limiter, MockLimiter)
def test_good_request(self):
# Test successful GET request through middleware.
@@ -485,8 +489,8 @@ class ParseLimitsTest(BaseLimitTestSuite):
self.assertEqual([t.value for t in l], expected)
# ...and the units...
- expected = [limits.PER_MINUTE, limits.PER_HOUR,
- limits.PER_SECOND, limits.PER_DAY]
+ expected = [utils.TIME_UNITS['MINUTE'], utils.TIME_UNITS['HOUR'],
+ utils.TIME_UNITS['SECOND'], utils.TIME_UNITS['DAY']]
self.assertEqual([t.unit for t in l], expected)
diff --git a/nova/tests/api/openstack/compute/test_server_metadata.py b/nova/tests/api/openstack/compute/test_server_metadata.py
index fa25ad4a3..f0548ffa0 100644
--- a/nova/tests/api/openstack/compute/test_server_metadata.py
+++ b/nova/tests/api/openstack/compute/test_server_metadata.py
@@ -26,6 +26,7 @@ from nova.compute import vm_states
import nova.db
from nova import exception
from nova.openstack.common import jsonutils
+from nova.openstack.common import timeutils
from nova import test
from nova.tests.api.openstack import fakes
@@ -77,6 +78,7 @@ def return_server(context, server_id):
'uuid': '0cc3346e-9fef-4445-abe6-5d2b2690ec64',
'name': 'fake',
'locked': False,
+ 'launched_at': timeutils.utcnow(),
'vm_state': vm_states.ACTIVE}
@@ -85,6 +87,7 @@ def return_server_by_uuid(context, server_uuid):
'uuid': '0cc3346e-9fef-4445-abe6-5d2b2690ec64',
'name': 'fake',
'locked': False,
+ 'launched_at': timeutils.utcnow(),
'vm_state': vm_states.ACTIVE}
diff --git a/nova/tests/api/openstack/compute/test_servers.py b/nova/tests/api/openstack/compute/test_servers.py
index af8a4a276..82bb6b868 100644
--- a/nova/tests/api/openstack/compute/test_servers.py
+++ b/nova/tests/api/openstack/compute/test_servers.py
@@ -231,7 +231,7 @@ class ServersControllerTest(test.TestCase):
self.assertEquals(res, [(None, None, port)])
def test_get_server_by_uuid(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
res_dict = self.controller.show(req, FAKE_UUID)
self.assertEqual(res_dict['server']['id'], FAKE_UUID)
@@ -250,7 +250,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get',
return_instance_with_host)
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
server1 = self.controller.show(req, FAKE_UUID)
server2 = self.controller.show(req, FAKE_UUID)
@@ -263,7 +263,7 @@ class ServersControllerTest(test.TestCase):
flavor_bookmark = "http://localhost/fake/flavors/1"
uuid = FAKE_UUID
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % uuid)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % uuid)
res_dict = self.controller.show(req, uuid)
expected_server = {
@@ -330,7 +330,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_by_uuid', new_return_server)
uuid = FAKE_UUID
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % uuid)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % uuid)
res_dict = self.controller.show(req, uuid)
expected_server = {
"server": {
@@ -399,7 +399,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_by_uuid', new_return_server)
uuid = FAKE_UUID
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % uuid)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % uuid)
res_dict = self.controller.show(req, uuid)
expected_server = {
"server": {
@@ -488,7 +488,7 @@ class ServersControllerTest(test.TestCase):
return_server = fakes.fake_instance_get(nw_cache=nw_cache)
self.stubs.Set(db, 'instance_get_by_uuid', return_server)
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s/ips' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s/ips' % FAKE_UUID)
res_dict = self.ips_controller.index(req, FAKE_UUID)
expected = {
@@ -508,7 +508,7 @@ class ServersControllerTest(test.TestCase):
self.assertThat(res_dict, matchers.DictMatches(expected))
def test_get_server_addresses_nonexistent_network(self):
- url = '/v2/fake/servers/%s/ips/network_0' % FAKE_UUID
+ url = '/fake/servers/%s/ips/network_0' % FAKE_UUID
req = fakes.HTTPRequest.blank(url)
self.assertRaises(webob.exc.HTTPNotFound, self.ips_controller.show,
req, FAKE_UUID, 'network_0')
@@ -520,7 +520,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_by_uuid', fake_instance_get)
server_id = str(uuid.uuid4())
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s/ips' % server_id)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s/ips' % server_id)
self.assertRaises(webob.exc.HTTPNotFound,
self.ips_controller.index, req, server_id)
@@ -528,14 +528,14 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_all_by_filters',
return_servers_empty)
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
res_dict = self.controller.index(req)
num_servers = len(res_dict['servers'])
self.assertEqual(0, num_servers)
def test_get_server_list_with_reservation_id(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers?reservation_id=foo')
+ req = fakes.HTTPRequest.blank('/fake/servers?reservation_id=foo')
res_dict = self.controller.index(req)
i = 0
@@ -544,7 +544,7 @@ class ServersControllerTest(test.TestCase):
i += 1
def test_get_server_list_with_reservation_id_empty(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers/detail?'
+ req = fakes.HTTPRequest.blank('/fake/servers/detail?'
'reservation_id=foo')
res_dict = self.controller.detail(req)
@@ -554,7 +554,7 @@ class ServersControllerTest(test.TestCase):
i += 1
def test_get_server_list_with_reservation_id_details(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers/detail?'
+ req = fakes.HTTPRequest.blank('/fake/servers/detail?'
'reservation_id=foo')
res_dict = self.controller.detail(req)
@@ -564,7 +564,7 @@ class ServersControllerTest(test.TestCase):
i += 1
def test_get_server_list(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
res_dict = self.controller.index(req)
self.assertEqual(len(res_dict['servers']), 5)
@@ -587,7 +587,7 @@ class ServersControllerTest(test.TestCase):
self.assertEqual(s['links'], expected_links)
def test_get_servers_with_limit(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers?limit=3')
+ req = fakes.HTTPRequest.blank('/fake/servers?limit=3')
res_dict = self.controller.index(req)
servers = res_dict['servers']
@@ -604,7 +604,7 @@ class ServersControllerTest(test.TestCase):
self.assertThat(params, matchers.DictMatches(expected_params))
def test_get_servers_with_limit_bad_value(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers?limit=aaa')
+ req = fakes.HTTPRequest.blank('/fake/servers?limit=aaa')
self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.index, req)
@@ -612,14 +612,14 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_all_by_filters',
return_servers_empty)
- req = fakes.HTTPRequest.blank('/v2/fake/servers/detail')
+ req = fakes.HTTPRequest.blank('/fake/servers/detail')
res_dict = self.controller.index(req)
num_servers = len(res_dict['servers'])
self.assertEqual(0, num_servers)
def test_get_server_details_with_limit(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers/detail?limit=3')
+ req = fakes.HTTPRequest.blank('/fake/servers/detail?limit=3')
res = self.controller.detail(req)
servers = res['servers']
@@ -636,12 +636,12 @@ class ServersControllerTest(test.TestCase):
self.assertThat(params, matchers.DictMatches(expected))
def test_get_server_details_with_limit_bad_value(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers/detail?limit=aaa')
+ req = fakes.HTTPRequest.blank('/fake/servers/detail?limit=aaa')
self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.detail, req)
def test_get_server_details_with_limit_and_other_params(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers/detail'
+ req = fakes.HTTPRequest.blank('/fake/servers/detail'
'?limit=3&blah=2:t')
res = self.controller.detail(req)
@@ -660,12 +660,12 @@ class ServersControllerTest(test.TestCase):
self.assertThat(params, matchers.DictMatches(expected))
def test_get_servers_with_too_big_limit(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers?limit=30')
+ req = fakes.HTTPRequest.blank('/fake/servers?limit=30')
res_dict = self.controller.index(req)
self.assertTrue('servers_links' not in res_dict)
def test_get_servers_with_bad_limit(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers?limit=asdf')
+ req = fakes.HTTPRequest.blank('/fake/servers?limit=asdf')
self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.index, req)
@@ -682,7 +682,7 @@ class ServersControllerTest(test.TestCase):
self.assertEqual([s['name'] for s in servers], ['server3', 'server4'])
def test_get_servers_with_bad_marker(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers?limit=2&marker=asdf')
+ req = fakes.HTTPRequest.blank('/fake/servers?limit=2&marker=asdf')
self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.index, req)
@@ -696,7 +696,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
- req = fakes.HTTPRequest.blank('/v2/fake/servers?unknownoption=whee')
+ req = fakes.HTTPRequest.blank('/fake/servers?unknownoption=whee')
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 1)
@@ -715,7 +715,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
- req = fakes.HTTPRequest.blank('/v2/fake/servers?image=12345')
+ req = fakes.HTTPRequest.blank('/fake/servers?image=12345')
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 1)
@@ -732,7 +732,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_all_by_filters',
fake_get_all)
- req = fakes.HTTPRequest.blank('/v2/fake/servers?tenant_id=fake',
+ req = fakes.HTTPRequest.blank('/fake/servers?tenant_id=fake',
use_admin_context=True)
res = self.controller.index(req)
@@ -748,7 +748,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_all_by_filters',
fake_get_all)
- req = fakes.HTTPRequest.blank('/v2/fake/servers',
+ req = fakes.HTTPRequest.blank('/fake/servers',
use_admin_context=True)
res = self.controller.index(req)
@@ -773,7 +773,7 @@ class ServersControllerTest(test.TestCase):
common_policy.set_rules(common_policy.Rules(rules))
- req = fakes.HTTPRequest.blank('/v2/fake/servers?all_tenants=1')
+ req = fakes.HTTPRequest.blank('/fake/servers?all_tenants=1')
res = self.controller.index(req)
self.assertTrue('servers' in res)
@@ -795,7 +795,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_all_by_filters',
fake_get_all)
- req = fakes.HTTPRequest.blank('/v2/fake/servers?all_tenants=1')
+ req = fakes.HTTPRequest.blank('/fake/servers?all_tenants=1')
self.assertRaises(exception.PolicyNotAuthorized,
self.controller.index, req)
@@ -813,14 +813,14 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
- req = fakes.HTTPRequest.blank('/v2/fake/servers?flavor=12345')
+ req = fakes.HTTPRequest.blank('/fake/servers?flavor=12345')
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 1)
self.assertEqual(servers[0]['id'], server_uuid)
def test_get_servers_with_bad_flavor(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers?flavor=abcde')
+ req = fakes.HTTPRequest.blank('/fake/servers?flavor=abcde')
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 0)
@@ -838,7 +838,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
- req = fakes.HTTPRequest.blank('/v2/fake/servers?status=active')
+ req = fakes.HTTPRequest.blank('/fake/servers?status=active')
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 1)
@@ -846,13 +846,13 @@ class ServersControllerTest(test.TestCase):
def test_get_servers_invalid_status(self):
# Test getting servers by invalid status.
- req = fakes.HTTPRequest.blank('/v2/fake/servers?status=baloney',
+ req = fakes.HTTPRequest.blank('/fake/servers?status=baloney',
use_admin_context=False)
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 0)
def test_get_servers_deleted_status_as_user(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers?status=deleted',
+ req = fakes.HTTPRequest.blank('/fake/servers?status=deleted',
use_admin_context=False)
self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.detail, req)
@@ -870,7 +870,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
- req = fakes.HTTPRequest.blank('/v2/fake/servers?status=deleted',
+ req = fakes.HTTPRequest.blank('/fake/servers?status=deleted',
use_admin_context=True)
servers = self.controller.detail(req)['servers']
@@ -890,7 +890,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
- req = fakes.HTTPRequest.blank('/v2/fake/servers?name=whee.*')
+ req = fakes.HTTPRequest.blank('/fake/servers?name=whee.*')
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 1)
@@ -913,7 +913,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
params = 'changes-since=2011-01-24T17:08:01Z'
- req = fakes.HTTPRequest.blank('/v2/fake/servers?%s' % params)
+ req = fakes.HTTPRequest.blank('/fake/servers?%s' % params)
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 1)
@@ -921,7 +921,7 @@ class ServersControllerTest(test.TestCase):
def test_get_servers_allows_changes_since_bad_value(self):
params = 'changes-since=asdf'
- req = fakes.HTTPRequest.blank('/v2/fake/servers?%s' % params)
+ req = fakes.HTTPRequest.blank('/fake/servers?%s' % params)
self.assertRaises(webob.exc.HTTPBadRequest, self.controller.index, req)
def test_get_servers_admin_filters_as_user(self):
@@ -947,7 +947,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
query_str = "name=foo&ip=10.*&status=active&unknown_option=meow"
- req = fakes.HTTPRequest.blank('/v2/fake/servers?%s' % query_str)
+ req = fakes.HTTPRequest.blank('/fake/servers?%s' % query_str)
res = self.controller.index(req)
servers = res['servers']
@@ -976,7 +976,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
query_str = "name=foo&ip=10.*&status=active&unknown_option=meow"
- req = fakes.HTTPRequest.blank('/v2/fake/servers?%s' % query_str,
+ req = fakes.HTTPRequest.blank('/fake/servers?%s' % query_str,
use_admin_context=True)
servers = self.controller.index(req)['servers']
@@ -997,7 +997,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
- req = fakes.HTTPRequest.blank('/v2/fake/servers?ip=10\..*')
+ req = fakes.HTTPRequest.blank('/fake/servers?ip=10\..*')
servers = self.controller.index(req)['servers']
self.assertEqual(len(servers), 1)
@@ -1019,7 +1019,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(compute_api.API, 'get_all', fake_get_all)
- req = fakes.HTTPRequest.blank('/v2/fake/servers?ip6=ffff.*',
+ req = fakes.HTTPRequest.blank('/fake/servers?ip6=ffff.*',
use_admin_context=True)
servers = self.controller.index(req)['servers']
@@ -1031,7 +1031,7 @@ class ServersControllerTest(test.TestCase):
fakes.fake_instance_get(name='server_test',
access_ipv4='0.0.0.0',
access_ipv6='beef::0123'))
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {
@@ -1048,7 +1048,7 @@ class ServersControllerTest(test.TestCase):
self.assertEqual(res_dict['server']['accessIPv6'], 'beef::0123')
def test_update_server_invalid_xml_raises_lookup(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/xml'
#xml request which raises LookupError
@@ -1060,7 +1060,7 @@ class ServersControllerTest(test.TestCase):
self.assertEqual(res.status_int, 400)
def test_update_server_invalid_xml_raises_expat(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/xml'
#xml request which raises ExpatError
@@ -1074,7 +1074,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_name(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(name='server_test'))
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'name': 'server_test'}}
@@ -1087,7 +1087,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_name_too_long(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(name='server_test'))
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'name': 'x' * 256}}
@@ -1109,7 +1109,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_access_ipv4(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(access_ipv4='0.0.0.0'))
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'accessIPv4': '0.0.0.0'}}
@@ -1122,7 +1122,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_access_ipv4_bad_format(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(access_ipv4='0.0.0.0'))
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'accessIPv4': 'bad_format'}}
@@ -1133,7 +1133,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_access_ipv4_none(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(access_ipv4='0.0.0.0'))
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'accessIPv4': None}}
@@ -1146,7 +1146,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_access_ipv4_blank(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(access_ipv4='0.0.0.0'))
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'accessIPv4': ''}}
@@ -1159,7 +1159,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_access_ipv6(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(access_ipv6='beef::0123'))
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'accessIPv6': 'beef::0123'}}
@@ -1172,7 +1172,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_access_ipv6_bad_format(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(access_ipv6='beef::0123'))
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'accessIPv6': 'bad_format'}}
@@ -1183,7 +1183,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_access_ipv6_none(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(access_ipv6='beef::0123'))
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'accessIPv6': None}}
@@ -1196,7 +1196,7 @@ class ServersControllerTest(test.TestCase):
def test_update_server_access_ipv6_blank(self):
self.stubs.Set(db, 'instance_get',
fakes.fake_instance_get(access_ipv6='beef::0123'))
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'accessIPv6': ''}}
@@ -1207,7 +1207,7 @@ class ServersControllerTest(test.TestCase):
self.assertEqual(res_dict['server']['accessIPv6'], '')
def test_update_server_personality(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {
@@ -1237,7 +1237,7 @@ class ServersControllerTest(test.TestCase):
# self.stubs.Set(db, 'instance_get',
# return_server_with_attributes(name='server_test'))
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = "application/json"
req.body = jsonutils.dumps(body)
@@ -1251,7 +1251,7 @@ class ServersControllerTest(test.TestCase):
raise exception.InstanceNotFound(instance_id='fake')
self.stubs.Set(compute_api.API, 'get', fake_get)
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'name': 'server_test'}}
@@ -1264,7 +1264,7 @@ class ServersControllerTest(test.TestCase):
raise exception.InstanceNotFound(instance_id='fake')
self.stubs.Set(compute_api.API, 'update', fake_update)
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
req.content_type = 'application/json'
body = {'server': {'name': 'server_test'}}
@@ -1299,7 +1299,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers/a/action')
+ req = fakes.HTTPRequest.blank('/fake/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1333,7 +1333,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers/a/action')
+ req = fakes.HTTPRequest.blank('/fake/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1367,7 +1367,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers/a/action')
+ req = fakes.HTTPRequest.blank('/fake/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1401,7 +1401,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers/a/action')
+ req = fakes.HTTPRequest.blank('/fake/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1429,7 +1429,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers/a/action')
+ req = fakes.HTTPRequest.blank('/fake/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1457,7 +1457,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers/a/action')
+ req = fakes.HTTPRequest.blank('/fake/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1486,7 +1486,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers/a/action')
+ req = fakes.HTTPRequest.blank('/fake/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1512,7 +1512,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers/a/action')
+ req = fakes.HTTPRequest.blank('/fake/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1546,7 +1546,7 @@ class ServersControllerTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers/a/action')
+ req = fakes.HTTPRequest.blank('/fake/servers/a/action')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1572,7 +1572,7 @@ class ServersControllerTest(test.TestCase):
},
],
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers/detail')
+ req = fakes.HTTPRequest.blank('/fake/servers/detail')
res_dict = self.controller.detail(req)
for i, s in enumerate(res_dict['servers']):
@@ -1600,7 +1600,7 @@ class ServersControllerTest(test.TestCase):
self.stubs.Set(db, 'instance_get_all_by_filters',
return_servers_with_host)
- req = fakes.HTTPRequest.blank('/v2/fake/servers/detail')
+ req = fakes.HTTPRequest.blank('/fake/servers/detail')
res_dict = self.controller.detail(req)
server_list = res_dict['servers']
@@ -1615,7 +1615,7 @@ class ServersControllerTest(test.TestCase):
def _delete_server_instance(self, uuid=FAKE_UUID):
fakes.stub_out_instance_quota(self.stubs, 0, 10)
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % uuid)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % uuid)
req.method = 'DELETE'
self.server_delete_called = False
@@ -1640,7 +1640,7 @@ class ServersControllerTest(test.TestCase):
def test_delete_server_instance_while_building(self):
fakes.stub_out_instance_quota(self.stubs, 0, 10)
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'DELETE'
self.server_delete_called = False
@@ -1654,7 +1654,7 @@ class ServersControllerTest(test.TestCase):
self.assertEqual(self.server_delete_called, True)
def test_delete_server_instance_while_resize(self):
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'DELETE'
self.server_delete_called = False
@@ -1688,7 +1688,7 @@ class ServerStatusTest(test.TestCase):
fakes.fake_instance_get(vm_state=vm_state,
task_state=task_state))
- request = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ request = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
return self.controller.show(request, FAKE_UUID)
def test_active(self):
@@ -1714,7 +1714,7 @@ class ServerStatusTest(test.TestCase):
rule = {'compute:reboot':
common_policy.parse_rule('role:admin')}
common_policy.set_rules(common_policy.Rules(rule))
- req = fakes.HTTPRequest.blank('/v2/fake/servers/1234/action')
+ req = fakes.HTTPRequest.blank('/fake/servers/1234/action')
self.assertRaises(exception.PolicyNotAuthorized,
self.controller._action_reboot, req, '1234',
{'reboot': {'type': 'HARD'}})
@@ -1742,7 +1742,7 @@ class ServerStatusTest(test.TestCase):
rule = {'compute:confirm_resize':
common_policy.parse_rule('role:admin')}
common_policy.set_rules(common_policy.Rules(rule))
- req = fakes.HTTPRequest.blank('/v2/fake/servers/1234/action')
+ req = fakes.HTTPRequest.blank('/fake/servers/1234/action')
self.assertRaises(exception.PolicyNotAuthorized,
self.controller._action_confirm_resize, req, '1234', {})
@@ -1764,7 +1764,7 @@ class ServerStatusTest(test.TestCase):
rule = {'compute:revert_resize':
common_policy.parse_rule('role:admin')}
common_policy.set_rules(common_policy.Rules(rule))
- req = fakes.HTTPRequest.blank('/v2/fake/servers/1234/action')
+ req = fakes.HTTPRequest.blank('/fake/servers/1234/action')
self.assertRaises(exception.PolicyNotAuthorized,
self.controller._action_revert_resize, req, '1234', {})
@@ -1900,7 +1900,7 @@ class ServersControllerCreateTest(test.TestCase):
name='server_test', imageRef=image_uuid, flavorRef=2,
metadata={'hello': 'world', 'open': 'stack'},
personality={}))
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1921,7 +1921,7 @@ class ServersControllerCreateTest(test.TestCase):
'flavorRef': flavor_ref,
}
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1942,7 +1942,7 @@ class ServersControllerCreateTest(test.TestCase):
'networks': {'uuid': '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'},
}
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -1960,7 +1960,7 @@ class ServersControllerCreateTest(test.TestCase):
self.addCleanup(image_service.update, context, image_uuid,
{'status': 'active'})
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
body = dict(server=dict(
name='server_test', imageRef=image_uuid, flavorRef=2,
@@ -1990,7 +1990,7 @@ class ServersControllerCreateTest(test.TestCase):
self.addCleanup(image_service.update, context, image_uuid,
{'size': orig_size})
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
body = dict(server=dict(name='server_test',
imageRef=image_uuid,
@@ -2016,7 +2016,7 @@ class ServersControllerCreateTest(test.TestCase):
'flavorRef': flavor_ref,
}
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2038,7 +2038,7 @@ class ServersControllerCreateTest(test.TestCase):
'flavorRef': flavor_ref,
}
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2060,7 +2060,7 @@ class ServersControllerCreateTest(test.TestCase):
'flavorRef': flavor_ref,
}
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2082,7 +2082,7 @@ class ServersControllerCreateTest(test.TestCase):
'flavorRef': flavor_ref,
}
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2110,7 +2110,7 @@ class ServersControllerCreateTest(test.TestCase):
}
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2139,7 +2139,7 @@ class ServersControllerCreateTest(test.TestCase):
}
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2168,7 +2168,7 @@ class ServersControllerCreateTest(test.TestCase):
}
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2244,7 +2244,7 @@ class ServersControllerCreateTest(test.TestCase):
}
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2267,7 +2267,7 @@ class ServersControllerCreateTest(test.TestCase):
}
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2286,7 +2286,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2307,7 +2307,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2325,7 +2325,7 @@ class ServersControllerCreateTest(test.TestCase):
server.pop('imageRef', None)
server.update(params)
body = dict(server=server)
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2805,7 +2805,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2845,7 +2845,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2882,7 +2882,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2916,7 +2916,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -2947,7 +2947,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3009,7 +3009,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3044,7 +3044,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3072,7 +3072,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3096,7 +3096,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3120,7 +3120,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3144,7 +3144,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3158,7 +3158,7 @@ class ServersControllerCreateTest(test.TestCase):
body = dict(server=dict(
name='server_test', imageRef=image_href, flavorRef=flavor_ref,
key_name='nonexistentkey'))
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3172,7 +3172,7 @@ class ServersControllerCreateTest(test.TestCase):
body = dict(server=dict(
name='server_test', imageRef=image_href, flavorRef=flavor_ref,
key_name='key'))
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3188,7 +3188,7 @@ class ServersControllerCreateTest(test.TestCase):
name='server_test', imageRef=image_href, flavorRef=flavor_ref,
metadata={'hello': 'world', 'open': 'stack'},
personality={}))
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3203,7 +3203,7 @@ class ServersControllerCreateTest(test.TestCase):
name='server_test', imageRef=image_href, flavorRef=flavor_ref,
metadata={'hello': 'world', 'open': 'stack'},
personality={}))
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3218,7 +3218,7 @@ class ServersControllerCreateTest(test.TestCase):
name='server_test', imageRef=image_href, flavorRef=flavor_ref,
metadata={'hello': 'world', 'open': 'stack'},
personality={}))
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3244,34 +3244,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
- req.method = 'POST'
- req.body = jsonutils.dumps(body)
- req.headers["content-type"] = "application/json"
- res = self.controller.create(req, body).obj
-
- server = res['server']
- self.assertEqual(FAKE_UUID, server['id'])
-
- def test_create_instance_with_config_drive_as_id(self):
- self.ext_mgr.extensions = {'os-config-drive': 'fake'}
- image_href = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
- flavor_ref = 'http://localhost/v2/fake/flavors/3'
- body = {
- 'server': {
- 'name': 'config_drive_test',
- 'imageRef': image_href,
- 'flavorRef': flavor_ref,
- 'metadata': {
- 'hello': 'world',
- 'open': 'stack',
- },
- 'personality': {},
- 'config_drive': image_href,
- },
- }
-
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3281,6 +3254,7 @@ class ServersControllerCreateTest(test.TestCase):
self.assertEqual(FAKE_UUID, server['id'])
def test_create_instance_with_bad_config_drive(self):
+ # Test with an image href as config drive value.
self.ext_mgr.extensions = {'os-config-drive': 'fake'}
image_href = '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6'
flavor_ref = 'http://localhost/v2/fake/flavors/3'
@@ -3294,15 +3268,14 @@ class ServersControllerCreateTest(test.TestCase):
'open': 'stack',
},
'personality': {},
- 'config_drive': 'asdf',
+ 'config_drive': image_href,
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
-
self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.create, req, body)
@@ -3323,7 +3296,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3351,7 +3324,7 @@ class ServersControllerCreateTest(test.TestCase):
name='server_test', imageRef=image_href, flavorRef=flavor_ref,
metadata={'hello': 'world', 'open': 'stack'},
personality={}))
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3370,7 +3343,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3390,7 +3363,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers['content-type'] = "application/json"
@@ -3411,7 +3384,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers['content-type'] = "application/json"
@@ -3432,7 +3405,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers['content-type'] = "application/json"
@@ -3470,7 +3443,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -3501,7 +3474,7 @@ class ServersControllerCreateTest(test.TestCase):
},
}
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers['content-type'] = 'application/json'
@@ -3517,7 +3490,7 @@ class ServersControllerCreateTest(test.TestCase):
name='server_test', imageRef=image_uuid, flavorRef=3,
metadata={'hello': 'world', 'open': 'stack'},
personality={}))
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
req.body = jsonutils.dumps(body)
req.headers["content-type"] = "application/json"
@@ -4285,7 +4258,7 @@ class ServersViewBuilderTest(test.TestCase):
self.uuid = self.instance['uuid']
self.view_builder = views.servers.ViewBuilder()
- self.request = fakes.HTTPRequest.blank("/v2")
+ self.request = fakes.HTTPRequest.blank("/v2/fake")
def test_get_flavor_valid_flavor(self):
flavor_bookmark = "http://localhost/fake/flavors/1"
@@ -5808,7 +5781,7 @@ class ServersUnprocessableEntityTestCase(test.TestCase):
self.controller = servers.Controller(self.ext_mgr)
def _unprocessable_server_create(self, body):
- req = fakes.HTTPRequest.blank('/v2/fake/servers')
+ req = fakes.HTTPRequest.blank('/fake/servers')
req.method = 'POST'
self.assertRaises(webob.exc.HTTPUnprocessableEntity,
@@ -5826,7 +5799,7 @@ class ServersUnprocessableEntityTestCase(test.TestCase):
self._unprocessable_server_create(body=body)
def _unprocessable_server_update(self, body):
- req = fakes.HTTPRequest.blank('/v2/fake/servers/%s' % FAKE_UUID)
+ req = fakes.HTTPRequest.blank('/fake/servers/%s' % FAKE_UUID)
req.method = 'PUT'
self.assertRaises(webob.exc.HTTPUnprocessableEntity,
diff --git a/nova/tests/api/openstack/compute/test_v3_extensions.py b/nova/tests/api/openstack/compute/test_v3_extensions.py
index 97429ca45..ec472f38a 100644
--- a/nova/tests/api/openstack/compute/test_v3_extensions.py
+++ b/nova/tests/api/openstack/compute/test_v3_extensions.py
@@ -16,10 +16,12 @@
from oslo.config import cfg
import stevedore
+import webob.exc
from nova.api import openstack
from nova.api.openstack import compute
from nova.api.openstack.compute import plugins
+from nova.api.openstack import extensions
from nova import exception
from nova import test
@@ -139,3 +141,38 @@ class ExtensionLoadingTestCase(test.TestCase):
self.stubs.Set(plugins, 'LoadedExtensionInfo',
fake_loaded_extension_info)
self.assertRaises(exception.CoreAPIMissing, compute.APIRouterV3)
+
+ def test_extensions_expected_error(self):
+ @extensions.expected_errors(404)
+ def fake_func():
+ raise webob.exc.HTTPNotFound()
+
+ self.assertRaises(webob.exc.HTTPNotFound, fake_func)
+
+ def test_extensions_expected_error_from_list(self):
+ @extensions.expected_errors((404, 403))
+ def fake_func():
+ raise webob.exc.HTTPNotFound()
+
+ self.assertRaises(webob.exc.HTTPNotFound, fake_func)
+
+ def test_extensions_unexpected_error(self):
+ @extensions.expected_errors(404)
+ def fake_func():
+ raise webob.exc.HTTPConflict()
+
+ self.assertRaises(webob.exc.HTTPInternalServerError, fake_func)
+
+ def test_extensions_unexpected_error_from_list(self):
+ @extensions.expected_errors((404, 413))
+ def fake_func():
+ raise webob.exc.HTTPConflict()
+
+ self.assertRaises(webob.exc.HTTPInternalServerError, fake_func)
+
+ def test_extensions_unexpected_policy_not_authorized_error(self):
+ @extensions.expected_errors(404)
+ def fake_func():
+ raise exception.PolicyNotAuthorized(action="foo")
+
+ self.assertRaises(exception.PolicyNotAuthorized, fake_func)
diff --git a/nova/tests/api/openstack/fakes.py b/nova/tests/api/openstack/fakes.py
index f05561ff2..d0239885d 100644
--- a/nova/tests/api/openstack/fakes.py
+++ b/nova/tests/api/openstack/fakes.py
@@ -419,7 +419,7 @@ def get_fake_uuid(token=0):
def fake_instance_get(**kwargs):
- def _return_server(context, uuid):
+ def _return_server(context, uuid, columns_to_join=None):
return stub_instance(1, **kwargs)
return _return_server
@@ -435,6 +435,8 @@ def fake_instance_get_all_by_filters(num_servers=5, **kwargs):
if "limit" in kwargs:
limit = kwargs["limit"]
+ if 'columns_to_join' in kwargs:
+ kwargs.pop('columns_to_join')
for i in xrange(num_servers):
uuid = get_fake_uuid(i)
server = stub_instance(id=i + 1, uuid=uuid,
@@ -462,7 +464,8 @@ def stub_instance(id, user_id=None, project_id=None, host=None,
security_groups=None, root_device_name=None,
limit=None, marker=None,
launched_at=datetime.datetime.utcnow(),
- terminated_at=datetime.datetime.utcnow()):
+ terminated_at=datetime.datetime.utcnow(),
+ availability_zone=''):
if user_id is None:
user_id = 'fake_user'
@@ -488,7 +491,10 @@ def stub_instance(id, user_id=None, project_id=None, host=None,
key_data = ''
if security_groups is None:
- security_groups = [{"id": 1, "name": "test"}]
+ security_groups = [{"id": 1, "name": "test", "description": "Foo:",
+ "project_id": "project", "user_id": "user",
+ "created_at": None, "updated_at": None,
+ "deleted_at": None, "deleted": False}]
# ReservationID isn't sent back, hack it in there.
server_name = name or "server%s" % id
@@ -501,6 +507,8 @@ def stub_instance(id, user_id=None, project_id=None, host=None,
"id": int(id),
"created_at": datetime.datetime(2010, 10, 10, 12, 0, 0),
"updated_at": datetime.datetime(2010, 11, 11, 11, 0, 0),
+ "deleted_at": datetime.datetime(2010, 12, 12, 10, 0, 0),
+ "deleted": None,
"user_id": user_id,
"project_id": project_id,
"image_ref": image_ref,
@@ -528,7 +536,7 @@ def stub_instance(id, user_id=None, project_id=None, host=None,
"scheduled_at": timeutils.utcnow(),
"launched_at": launched_at,
"terminated_at": terminated_at,
- "availability_zone": "",
+ "availability_zone": availability_zone,
"display_name": display_name or server_name,
"display_description": "",
"locked": False,
@@ -553,6 +561,7 @@ def stub_instance(id, user_id=None, project_id=None, host=None,
"os_type": ""}
instance.update(info_cache)
+ instance['info_cache']['instance_uuid'] = instance['uuid']
return instance
diff --git a/nova/tests/cells/test_cells_manager.py b/nova/tests/cells/test_cells_manager.py
index 4e35cd818..89a60cb35 100644
--- a/nova/tests/cells/test_cells_manager.py
+++ b/nova/tests/cells/test_cells_manager.py
@@ -548,3 +548,27 @@ class CellsManagerClassTestCase(test.TestCase):
instance_uuid=instance_uuid, console_port=console_port,
console_type=console_type)
self.assertEqual('fake-response', response)
+
+ def test_bdm_update_or_create_at_top(self):
+ self.mox.StubOutWithMock(self.msg_runner,
+ 'bdm_update_or_create_at_top')
+ self.msg_runner.bdm_update_or_create_at_top(self.ctxt,
+ 'fake-bdm',
+ create='foo')
+ self.mox.ReplayAll()
+ self.cells_manager.bdm_update_or_create_at_top(self.ctxt,
+ 'fake-bdm',
+ create='foo')
+
+ def test_bdm_destroy_at_top(self):
+ self.mox.StubOutWithMock(self.msg_runner, 'bdm_destroy_at_top')
+ self.msg_runner.bdm_destroy_at_top(self.ctxt,
+ 'fake_instance_uuid',
+ device_name='fake_device_name',
+ volume_id='fake_volume_id')
+
+ self.mox.ReplayAll()
+ self.cells_manager.bdm_destroy_at_top(self.ctxt,
+ 'fake_instance_uuid',
+ device_name='fake_device_name',
+ volume_id='fake_volume_id')
diff --git a/nova/tests/cells/test_cells_messaging.py b/nova/tests/cells/test_cells_messaging.py
index d4d9b052e..734fecf0e 100644
--- a/nova/tests/cells/test_cells_messaging.py
+++ b/nova/tests/cells/test_cells_messaging.py
@@ -23,6 +23,7 @@ from nova.compute import vm_states
from nova import context
from nova import db
from nova import exception
+from nova.objects import instance as instance_obj
from nova.openstack.common import rpc
from nova.openstack.common import timeutils
from nova import test
@@ -641,6 +642,60 @@ class CellsTargetedMethodsTestCase(test.TestCase):
result = response.value_or_raise()
self.assertEqual('fake_result', result)
+ def test_run_compute_api_method_expects_obj(self):
+ instance_uuid = 'fake_instance_uuid'
+ method_info = {'method': 'start',
+ 'method_args': (instance_uuid, 2, 3),
+ 'method_kwargs': {'arg1': 'val1', 'arg2': 'val2'}}
+ self.mox.StubOutWithMock(self.tgt_compute_api, 'start')
+ self.mox.StubOutWithMock(self.tgt_db_inst, 'instance_get_by_uuid')
+
+ self.tgt_db_inst.instance_get_by_uuid(self.ctxt,
+ instance_uuid).AndReturn('fake_instance')
+
+ def get_instance_mock():
+ # NOTE(comstud): This block of code simulates the following
+ # mox code:
+ #
+ # self.mox.StubOutWithMock(instance_obj, 'Instance',
+ # use_mock_anything=True)
+ # self.mox.StubOutWithMock(instance_obj.Instance,
+ # '_from_db_object')
+ # instance_mock = self.mox.CreateMock(instance_obj.Instance)
+ # instance_obj.Instance().AndReturn(instance_mock)
+ #
+ # Unfortunately, the above code fails on py27 do to some
+ # issue with the Mock object do to similar issue as this:
+ # https://code.google.com/p/pymox/issues/detail?id=35
+ #
+ class FakeInstance(object):
+ def _from_db_object(obj, db_obj):
+ pass
+
+ instance_mock = FakeInstance()
+
+ def fake_instance():
+ return instance_mock
+
+ self.stubs.Set(instance_obj, 'Instance', fake_instance)
+ self.mox.StubOutWithMock(instance_mock, '_from_db_object')
+ return instance_mock
+
+ instance = get_instance_mock()
+ instance._from_db_object(
+ instance, 'fake_instance').AndReturn(instance)
+ self.tgt_compute_api.start(self.ctxt, instance, 2, 3,
+ arg1='val1', arg2='val2').AndReturn('fake_result')
+ self.mox.ReplayAll()
+
+ response = self.src_msg_runner.run_compute_api_method(
+ self.ctxt,
+ self.tgt_cell_name,
+ method_info,
+ True)
+ result = response.value_or_raise()
+ self.assertEqual('fake_result', result)
+
def test_run_compute_api_method_unknown_instance(self):
# Unknown instance should send a broadcast up that instance
# is gone.
@@ -1426,3 +1481,173 @@ class CellsBroadcastMethodsTestCase(test.TestCase):
self.mox.ReplayAll()
self.src_msg_runner.consoleauth_delete_tokens(self.ctxt, fake_uuid)
+
+ def test_bdm_update_or_create_with_none_create(self):
+ fake_bdm = {'id': 'fake_id',
+ 'volume_id': 'fake_volume_id'}
+ expected_bdm = fake_bdm.copy()
+ expected_bdm.pop('id')
+
+ # Shouldn't be called for these 2 cells
+ self.mox.StubOutWithMock(self.src_db_inst,
+ 'block_device_mapping_update_or_create')
+ self.mox.StubOutWithMock(self.mid_db_inst,
+ 'block_device_mapping_update_or_create')
+
+ self.mox.StubOutWithMock(self.tgt_db_inst,
+ 'block_device_mapping_update_or_create')
+ self.tgt_db_inst.block_device_mapping_update_or_create(
+ self.ctxt, expected_bdm, legacy=False)
+
+ self.mox.ReplayAll()
+
+ self.src_msg_runner.bdm_update_or_create_at_top(self.ctxt,
+ fake_bdm,
+ create=None)
+
+ def test_bdm_update_or_create_with_true_create(self):
+ fake_bdm = {'id': 'fake_id',
+ 'volume_id': 'fake_volume_id'}
+ expected_bdm = fake_bdm.copy()
+ expected_bdm.pop('id')
+
+ # Shouldn't be called for these 2 cells
+ self.mox.StubOutWithMock(self.src_db_inst,
+ 'block_device_mapping_create')
+ self.mox.StubOutWithMock(self.mid_db_inst,
+ 'block_device_mapping_create')
+
+ self.mox.StubOutWithMock(self.tgt_db_inst,
+ 'block_device_mapping_create')
+ self.tgt_db_inst.block_device_mapping_create(
+ self.ctxt, fake_bdm, legacy=False)
+
+ self.mox.ReplayAll()
+
+ self.src_msg_runner.bdm_update_or_create_at_top(self.ctxt,
+ fake_bdm,
+ create=True)
+
+ def test_bdm_update_or_create_with_false_create_vol_id(self):
+ fake_bdm = {'id': 'fake_id',
+ 'instance_uuid': 'fake_instance_uuid',
+ 'device_name': 'fake_device_name',
+ 'volume_id': 'fake_volume_id'}
+ expected_bdm = fake_bdm.copy()
+ expected_bdm.pop('id')
+
+ fake_inst_bdms = [{'id': 1,
+ 'volume_id': 'not-a-match',
+ 'device_name': 'not-a-match'},
+ {'id': 2,
+ 'volume_id': 'fake_volume_id',
+ 'device_name': 'not-a-match'},
+ {'id': 3,
+ 'volume_id': 'not-a-match',
+ 'device_name': 'not-a-match'}]
+
+ # Shouldn't be called for these 2 cells
+ self.mox.StubOutWithMock(self.src_db_inst,
+ 'block_device_mapping_update')
+ self.mox.StubOutWithMock(self.mid_db_inst,
+ 'block_device_mapping_update')
+
+ self.mox.StubOutWithMock(self.tgt_db_inst,
+ 'block_device_mapping_get_all_by_instance')
+ self.mox.StubOutWithMock(self.tgt_db_inst,
+ 'block_device_mapping_update')
+
+ self.tgt_db_inst.block_device_mapping_get_all_by_instance(
+ self.ctxt, 'fake_instance_uuid').AndReturn(
+ fake_inst_bdms)
+ # Should try to update ID 2.
+ self.tgt_db_inst.block_device_mapping_update(
+ self.ctxt, 2, expected_bdm, legacy=False)
+
+ self.mox.ReplayAll()
+
+ self.src_msg_runner.bdm_update_or_create_at_top(self.ctxt,
+ fake_bdm,
+ create=False)
+
+ def test_bdm_update_or_create_with_false_create_dev_name(self):
+ fake_bdm = {'id': 'fake_id',
+ 'instance_uuid': 'fake_instance_uuid',
+ 'device_name': 'fake_device_name',
+ 'volume_id': 'fake_volume_id'}
+ expected_bdm = fake_bdm.copy()
+ expected_bdm.pop('id')
+
+ fake_inst_bdms = [{'id': 1,
+ 'volume_id': 'not-a-match',
+ 'device_name': 'not-a-match'},
+ {'id': 2,
+ 'volume_id': 'not-a-match',
+ 'device_name': 'fake_device_name'},
+ {'id': 3,
+ 'volume_id': 'not-a-match',
+ 'device_name': 'not-a-match'}]
+
+ # Shouldn't be called for these 2 cells
+ self.mox.StubOutWithMock(self.src_db_inst,
+ 'block_device_mapping_update')
+ self.mox.StubOutWithMock(self.mid_db_inst,
+ 'block_device_mapping_update')
+
+ self.mox.StubOutWithMock(self.tgt_db_inst,
+ 'block_device_mapping_get_all_by_instance')
+ self.mox.StubOutWithMock(self.tgt_db_inst,
+ 'block_device_mapping_update')
+
+ self.tgt_db_inst.block_device_mapping_get_all_by_instance(
+ self.ctxt, 'fake_instance_uuid').AndReturn(
+ fake_inst_bdms)
+ # Should try to update ID 2.
+ self.tgt_db_inst.block_device_mapping_update(
+ self.ctxt, 2, expected_bdm, legacy=False)
+
+ self.mox.ReplayAll()
+
+ self.src_msg_runner.bdm_update_or_create_at_top(self.ctxt,
+ fake_bdm,
+ create=False)
+
+ def test_bdm_destroy_by_volume(self):
+ fake_instance_uuid = 'fake-instance-uuid'
+ fake_volume_id = 'fake-volume-name'
+
+ # Shouldn't be called for these 2 cells
+ self.mox.StubOutWithMock(self.src_db_inst,
+ 'block_device_mapping_destroy_by_instance_and_volume')
+ self.mox.StubOutWithMock(self.mid_db_inst,
+ 'block_device_mapping_destroy_by_instance_and_volume')
+
+ self.mox.StubOutWithMock(self.tgt_db_inst,
+ 'block_device_mapping_destroy_by_instance_and_volume')
+ self.tgt_db_inst.block_device_mapping_destroy_by_instance_and_volume(
+ self.ctxt, fake_instance_uuid, fake_volume_id)
+
+ self.mox.ReplayAll()
+
+ self.src_msg_runner.bdm_destroy_at_top(self.ctxt, fake_instance_uuid,
+ volume_id=fake_volume_id)
+
+ def test_bdm_destroy_by_device(self):
+ fake_instance_uuid = 'fake-instance-uuid'
+ fake_device_name = 'fake-device-name'
+
+ # Shouldn't be called for these 2 cells
+ self.mox.StubOutWithMock(self.src_db_inst,
+ 'block_device_mapping_destroy_by_instance_and_device')
+ self.mox.StubOutWithMock(self.mid_db_inst,
+ 'block_device_mapping_destroy_by_instance_and_device')
+
+ self.mox.StubOutWithMock(self.tgt_db_inst,
+ 'block_device_mapping_destroy_by_instance_and_device')
+ self.tgt_db_inst.block_device_mapping_destroy_by_instance_and_device(
+ self.ctxt, fake_instance_uuid, fake_device_name)
+
+ self.mox.ReplayAll()
+
+ self.src_msg_runner.bdm_destroy_at_top(self.ctxt, fake_instance_uuid,
+ device_name=fake_device_name)
diff --git a/nova/tests/cells/test_cells_rpcapi.py b/nova/tests/cells/test_cells_rpcapi.py
index 4d58bdb9e..6eeff1730 100644
--- a/nova/tests/cells/test_cells_rpcapi.py
+++ b/nova/tests/cells/test_cells_rpcapi.py
@@ -425,3 +425,29 @@ class CellsAPITestCase(test.TestCase):
self._check_result(call_info, 'validate_console_port',
expected_args, version='1.6')
self.assertEqual(result, 'fake_response')
+
+ def test_bdm_update_or_create_at_top(self):
+ fake_bdm = {'id': 2, 'other': 'meow'}
+
+ call_info = self._stub_rpc_method('cast', None)
+
+ self.cells_rpcapi.bdm_update_or_create_at_top(
+ self.fake_context, fake_bdm, create='fake-create')
+
+ expected_args = {'bdm': fake_bdm, 'create': 'fake-create'}
+ self._check_result(call_info, 'bdm_update_or_create_at_top',
+ expected_args, version='1.10')
+
+ def test_bdm_destroy_at_top(self):
+ call_info = self._stub_rpc_method('cast', None)
+
+ self.cells_rpcapi.bdm_destroy_at_top(self.fake_context,
+ 'fake-uuid',
+ device_name='fake-device',
+ volume_id='fake-vol')
+
+ expected_args = {'instance_uuid': 'fake-uuid',
+ 'device_name': 'fake-device',
+ 'volume_id': 'fake-vol'}
+ self._check_result(call_info, 'bdm_destroy_at_top',
+ expected_args, version='1.10')
diff --git a/nova/tests/cells/test_cells_scheduler.py b/nova/tests/cells/test_cells_scheduler.py
index 9cd637cdf..38076fb0c 100644
--- a/nova/tests/cells/test_cells_scheduler.py
+++ b/nova/tests/cells/test_cells_scheduler.py
@@ -84,10 +84,9 @@ class CellsSchedulerTestCase(test.TestCase):
'block_device_mapping': 'fake_bdm'}
self.build_inst_kwargs = {
'instances': self.instances,
- 'instance_type': 'fake_type',
'image': 'fake_image',
- 'filter_properties': {},
- 'security_group': 'fake_sec_groups',
+ 'filter_properties': {'instance_type': 'fake_type'},
+ 'security_groups': 'fake_sec_groups',
'block_device_mapping': 'fake_bdm'}
def test_create_instances_here(self):
@@ -95,7 +94,8 @@ class CellsSchedulerTestCase(test.TestCase):
inst_type = db.instance_type_get(self.ctxt, 1)
image = {'properties': {}}
instance_uuids = self.instance_uuids
- instance_props = {'hostname': 'meow',
+ instance_props = {'name': 'instance-00000001',
+ 'hostname': 'meow',
'display_name': 'moo',
'image_ref': 'fake_image_ref',
'user_id': self.ctxt.user_id,
@@ -178,7 +178,7 @@ class CellsSchedulerTestCase(test.TestCase):
call_info['target_cell'] = target_cell
call_info['build_inst_kwargs'] = build_inst_kwargs
- def fake_build_request_spec(image, instances):
+ def fake_build_request_spec(ctxt, image, instances):
request_spec = {
'instance_uuids': [inst['uuid'] for inst in instances],
'image': image}
@@ -264,7 +264,7 @@ class CellsSchedulerTestCase(test.TestCase):
def fake_rpc_build_instances(ctxt, **build_inst_kwargs):
call_info['build_inst_kwargs'] = build_inst_kwargs
- def fake_build_request_spec(image, instances):
+ def fake_build_request_spec(ctxt, image, instances):
request_spec = {
'instance_uuids': [inst['uuid'] for inst in instances],
'image': image}
@@ -284,10 +284,11 @@ class CellsSchedulerTestCase(test.TestCase):
self.assertEqual(self.instance_uuids, call_info['instance_uuids'])
self.assertEqual(self.build_inst_kwargs['instances'][0],
call_info['instance_properties'])
- self.assertEqual(self.build_inst_kwargs['instance_type'],
- call_info['instance_type'])
+ self.assertEqual(
+ self.build_inst_kwargs['filter_properties']['instance_type'],
+ call_info['instance_type'])
self.assertEqual(self.build_inst_kwargs['image'], call_info['image'])
- self.assertEqual(self.build_inst_kwargs['security_group'],
+ self.assertEqual(self.build_inst_kwargs['security_groups'],
call_info['security_groups'])
self.assertEqual(self.build_inst_kwargs['block_device_mapping'],
call_info['block_device_mapping'])
@@ -341,7 +342,7 @@ class CellsSchedulerTestCase(test.TestCase):
self.assertEqual(vm_states.ERROR, values['vm_state'])
call_info['errored_uuids'].append(instance_uuid)
- def fake_build_request_spec(image, instances):
+ def fake_build_request_spec(ctxt, image, instances):
request_spec = {
'instance_uuids': [inst['uuid'] for inst in instances],
'image': image}
@@ -385,7 +386,7 @@ class CellsSchedulerTestCase(test.TestCase):
self.assertEqual(vm_states.ERROR, instance['vm_state'])
call_info['errored_uuids2'].append(instance['uuid'])
- def fake_build_request_spec(image, instances):
+ def fake_build_request_spec(ctxt, image, instances):
request_spec = {
'instance_uuids': [inst['uuid'] for inst in instances],
'image': image}
diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py
index bf6508803..cb404b48d 100644
--- a/nova/tests/compute/test_compute.py
+++ b/nova/tests/compute/test_compute.py
@@ -73,6 +73,11 @@ from nova.tests import fake_network_cache_model
from nova.tests.image import fake as fake_image
from nova.tests import matchers
from nova import utils
+from nova.virt.event import EVENT_LIFECYCLE_PAUSED
+from nova.virt.event import EVENT_LIFECYCLE_RESUMED
+from nova.virt.event import EVENT_LIFECYCLE_STARTED
+from nova.virt.event import EVENT_LIFECYCLE_STOPPED
+from nova.virt.event import LifecycleEvent
from nova.virt import fake
from nova.volume import cinder
@@ -259,6 +264,10 @@ class BaseTestCase(test.TestCase):
inst['os_type'] = 'Linux'
inst['system_metadata'] = make_fake_sys_meta()
inst['locked'] = False
+ inst['created_at'] = timeutils.utcnow()
+ inst['updated_at'] = timeutils.utcnow()
+ inst['launched_at'] = timeutils.utcnow()
+ inst['security_groups'] = []
inst.update(params)
_create_service_entries(self.context.elevated(),
{'fake_zone': [inst['host']]})
@@ -272,7 +281,10 @@ class BaseTestCase(test.TestCase):
def _fake_db_create(_ctxt, inst):
for k, v in inst.items():
- setattr(instance, k, v)
+ if k == 'security_groups':
+ setattr(instance, k, v or None)
+ else:
+ setattr(instance, k, v)
return instance
self.stubs.Set(db, 'instance_create', _fake_db_create)
@@ -1076,6 +1088,103 @@ class ComputeTestCase(BaseTestCase):
self._assert_state({'vm_state': vm_states.ERROR,
'task_state': None})
+ def test_allocate_network_succeeds_after_retries(self):
+ # Undo setUp() stubs as this is a true unit test
+ self.stubs.UnsetAll()
+ self.flags(network_allocate_retries=8)
+
+ nwapi = self.compute.network_api
+ self.mox.StubOutWithMock(nwapi, 'allocate_for_instance')
+ self.mox.StubOutWithMock(time, 'sleep')
+
+ instance = {}
+ is_vpn = 'fake-is-vpn'
+ req_networks = 'fake-req-networks'
+ macs = 'fake-macs'
+ sec_groups = 'fake-sec-groups'
+ final_result = 'meow'
+
+ expected_sleep_times = [1, 2, 4, 8, 16, 30, 30, 30]
+
+ for sleep_time in expected_sleep_times:
+ nwapi.allocate_for_instance(
+ self.context, instance, vpn=is_vpn,
+ requested_networks=req_networks, macs=macs,
+ conductor_api=self.compute.conductor_api,
+ security_groups=sec_groups).AndRaise(
+ test.TestingException())
+ time.sleep(sleep_time)
+
+ nwapi.allocate_for_instance(
+ self.context, instance, vpn=is_vpn,
+ requested_networks=req_networks, macs=macs,
+ conductor_api=self.compute.conductor_api,
+ security_groups=sec_groups).AndReturn(final_result)
+
+ self.mox.ReplayAll()
+
+ res = self.compute._allocate_network_async(self.context, instance,
+ req_networks,
+ macs,
+ sec_groups,
+ is_vpn)
+ self.assertEqual(final_result, res)
+
+ def test_allocate_network_fails(self):
+ # Undo setUp() stubs as this is a true unit test
+ self.stubs.UnsetAll()
+ self.flags(network_allocate_retries=0)
+
+ nwapi = self.compute.network_api
+ self.mox.StubOutWithMock(nwapi, 'allocate_for_instance')
+
+ instance = {}
+ is_vpn = 'fake-is-vpn'
+ req_networks = 'fake-req-networks'
+ macs = 'fake-macs'
+ sec_groups = 'fake-sec-groups'
+
+ nwapi.allocate_for_instance(
+ self.context, instance, vpn=is_vpn,
+ requested_networks=req_networks, macs=macs,
+ conductor_api=self.compute.conductor_api,
+ security_groups=sec_groups).AndRaise(test.TestingException())
+
+ self.mox.ReplayAll()
+
+ self.assertRaises(test.TestingException,
+ self.compute._allocate_network_async,
+ self.context, instance, req_networks, macs,
+ sec_groups, is_vpn)
+
+ def test_allocate_network_neg_conf_value_treated_as_zero(self):
+ # Undo setUp() stubs as this is a true unit test
+ self.stubs.UnsetAll()
+ self.flags(network_allocate_retries=-1)
+
+ nwapi = self.compute.network_api
+ self.mox.StubOutWithMock(nwapi, 'allocate_for_instance')
+
+ instance = {}
+ is_vpn = 'fake-is-vpn'
+ req_networks = 'fake-req-networks'
+ macs = 'fake-macs'
+ sec_groups = 'fake-sec-groups'
+
+ # Only attempted once.
+ nwapi.allocate_for_instance(
+ self.context, instance, vpn=is_vpn,
+ requested_networks=req_networks, macs=macs,
+ conductor_api=self.compute.conductor_api,
+ security_groups=sec_groups).AndRaise(test.TestingException())
+
+ self.mox.ReplayAll()
+
+ self.assertRaises(test.TestingException,
+ self.compute._allocate_network_async,
+ self.context, instance, req_networks, macs,
+ sec_groups, is_vpn)
+
def test_run_instance_dealloc_network_instance_not_found(self):
"""spawn network deallocate test.
@@ -1092,9 +1201,7 @@ class ComputeTestCase(BaseTestCase):
self.compute._deallocate_network(mox.IgnoreArg(), mox.IgnoreArg())
self.mox.ReplayAll()
- self.assertRaises(exception.InstanceNotFound,
- self.compute.run_instance,
- self.context, instance=instance)
+ self.compute.run_instance(self.context, instance=instance)
def test_run_instance_bails_on_missing_instance(self):
# Make sure that run_instance() will quickly ignore a deleted instance
@@ -1214,6 +1321,30 @@ class ComputeTestCase(BaseTestCase):
LOG.info(_("After terminating instances: %s"), instances)
self.assertEqual(len(instances), 0)
+ def test_terminate_no_fixed_ips(self):
+ # This is as reported in LP bug 1192893
+ instance = jsonutils.to_primitive(self._create_fake_instance())
+
+ self.compute.run_instance(self.context, instance=instance)
+
+ instances = db.instance_get_all(self.context)
+ LOG.info(_("Running instances: %s"), instances)
+ self.assertEqual(len(instances), 1)
+
+ self.mox.StubOutWithMock(self.compute, '_get_instance_nw_info')
+ self.compute._get_instance_nw_info(
+ mox.IgnoreArg(),
+ mox.IgnoreArg()).AndRaise(
+ exception.NoMoreFixedIps()
+ )
+ self.mox.ReplayAll()
+
+ self.compute.terminate_instance(self.context, instance=instance)
+
+ instances = db.instance_get_all(self.context)
+ LOG.info(_("After terminating instances: %s"), instances)
+ self.assertEqual(len(instances), 0)
+
def test_terminate_failure_leaves_task_state(self):
"""Ensure that a failure in terminate_instance does not result
in the task state being reverted from DELETING (see LP 1046236).
@@ -1248,6 +1379,7 @@ class ComputeTestCase(BaseTestCase):
def test_run_terminate_timestamps(self):
# Make sure timestamps are set for launched and destroyed.
instance = jsonutils.to_primitive(self._create_fake_instance())
+ instance['launched_at'] = None
self.assertEqual(instance['launched_at'], None)
self.assertEqual(instance['deleted_at'], None)
launch = timeutils.utcnow()
@@ -1399,7 +1531,8 @@ class ComputeTestCase(BaseTestCase):
called = {'power_on': False}
- def fake_driver_power_on(self, instance):
+ def fake_driver_power_on(self, context, instance, network_info,
+ block_device_info):
called['power_on'] = True
self.stubs.Set(nova.virt.fake.FakeDriver, 'power_on',
@@ -1921,6 +2054,24 @@ class ComputeTestCase(BaseTestCase):
self._assert_state({'task_state': None})
self.compute.terminate_instance(self.context, instance=instance)
+ def test_snapshot_handles_cases_when_instance_is_deleted(self):
+ instance = jsonutils.to_primitive(self._create_fake_instance(
+ {'vm_state': 'deleting'}))
+ self.compute.run_instance(self.context, instance=instance)
+ db.instance_update(self.context, instance['uuid'],
+ {"task_state": task_states.DELETING})
+ self.compute.snapshot_instance(self.context, "failing_snapshot",
+ instance=instance)
+ self.compute.terminate_instance(self.context, instance=instance)
+
+ def test_snapshot_handles_cases_when_instance_is_not_found(self):
+ instance = jsonutils.to_primitive(self._create_fake_instance(
+ {'vm_state': 'deleting'}))
+ instance["uuid"] = str(uuid.uuid4())
+ self.compute.snapshot_instance(self.context, "failing_snapshot",
+ instance=instance)
+ self.compute.terminate_instance(self.context, instance=instance)
+
def _assert_state(self, state_dict):
"""Assert state of VM is equal to state passed as parameter."""
instances = db.instance_get_all(self.context)
@@ -2257,6 +2408,7 @@ class ComputeTestCase(BaseTestCase):
self.assertTrue('display_name' in payload)
self.assertTrue('created_at' in payload)
self.assertTrue('launched_at' in payload)
+ self.assertTrue('fixed_ips' in payload)
self.assertTrue(payload['launched_at'])
image_ref_url = glance.generate_image_url(FAKE_IMAGE_REF)
self.assertEquals(payload['image_ref_url'], image_ref_url)
@@ -4333,9 +4485,11 @@ class ComputeTestCase(BaseTestCase):
instance_map = {}
instances = []
for x in xrange(5):
- uuid = 'fake-uuid-%s' % x
- instance_map[uuid] = {'uuid': uuid, 'host': CONF.host}
- instances.append(instance_map[uuid])
+ inst_uuid = 'fake-uuid-%s' % x
+ instance_map[inst_uuid] = fake_instance.fake_db_instance(
+ uuid=inst_uuid, host=CONF.host, created_at=None)
+ # These won't be in our instance since they're not requested
+ instances.append(instance_map[inst_uuid])
call_info = {'get_all_by_host': 0, 'get_by_uuid': 0,
'get_nw_info': 0, 'expected_instance': None}
@@ -4345,7 +4499,7 @@ class ComputeTestCase(BaseTestCase):
self.assertEqual(columns_to_join, [])
return instances[:]
- def fake_instance_get_by_uuid(context, instance_uuid):
+ def fake_instance_get_by_uuid(context, instance_uuid, columns_to_join):
if instance_uuid not in instance_map:
raise exception.InstanceNotFound(instance_id=instance_uuid)
call_info['get_by_uuid'] += 1
@@ -4357,12 +4511,13 @@ class ComputeTestCase(BaseTestCase):
# and is ignored. However, the below increment of
# 'get_nw_info' won't happen, and you'll get an assert
# failure checking it below.
- self.assertEqual(call_info['expected_instance'], instance)
+ self.assertEqual(call_info['expected_instance']['uuid'],
+ instance['uuid'])
call_info['get_nw_info'] += 1
- self.stubs.Set(self.compute.conductor_api, 'instance_get_all_by_host',
+ self.stubs.Set(db, 'instance_get_all_by_host',
fake_instance_get_all_by_host)
- self.stubs.Set(self.compute.conductor_api, 'instance_get_by_uuid',
+ self.stubs.Set(db, 'instance_get_by_uuid',
fake_instance_get_by_uuid)
self.stubs.Set(self.compute, '_get_instance_nw_info',
fake_get_instance_nw_info)
@@ -4437,19 +4592,27 @@ class ComputeTestCase(BaseTestCase):
self.assertTrue(instance)
def test_poll_unconfirmed_resizes(self):
- instances = [{'uuid': 'fake_uuid1', 'vm_state': vm_states.RESIZED,
- 'task_state': None},
- {'uuid': 'noexist'},
- {'uuid': 'fake_uuid2', 'vm_state': vm_states.ERROR,
- 'task_state': None},
- {'uuid': 'fake_uuid3', 'vm_state': vm_states.ACTIVE,
- 'task_state': task_states.REBOOTING},
- {'uuid': 'fake_uuid4', 'vm_state': vm_states.RESIZED,
- 'task_state': None},
- {'uuid': 'fake_uuid5', 'vm_state': vm_states.ACTIVE,
- 'task_state': None},
- {'uuid': 'fake_uuid6', 'vm_state': vm_states.RESIZED,
- 'task_state': 'deleting'}]
+ instances = [
+ fake_instance.fake_db_instance(uuid='fake_uuid1',
+ vm_state=vm_states.RESIZED,
+ task_state=None),
+ fake_instance.fake_db_instance(uuid='noexist'),
+ fake_instance.fake_db_instance(uuid='fake_uuid2',
+ vm_state=vm_states.ERROR,
+ task_state=None),
+ fake_instance.fake_db_instance(uuid='fake_uuid3',
+ vm_state=vm_states.ACTIVE,
+ task_state=
+ task_states.REBOOTING),
+ fake_instance.fake_db_instance(uuid='fake_uuid4',
+ vm_state=vm_states.RESIZED,
+ task_state=None),
+ fake_instance.fake_db_instance(uuid='fake_uuid5',
+ vm_state=vm_states.ACTIVE,
+ task_state=None),
+ fake_instance.fake_db_instance(uuid='fake_uuid6',
+ vm_state=vm_states.RESIZED,
+ task_state='deleting')]
expected_migration_status = {'fake_uuid1': 'confirmed',
'noexist': 'error',
'fake_uuid2': 'error',
@@ -4811,7 +4974,8 @@ class ComputeTestCase(BaseTestCase):
inst = dict(fakes.stub_instance(1),
deleted_at=None, created_at=None, updated_at=None,
deleted=0, info_cache={'instance_uuid': 'fake-uuid',
- 'network_info': None})
+ 'network_info': None},
+ security_groups=None)
startup_instances = [inst, inst, inst]
def _do_mock_calls(defer_iptables_apply):
@@ -5073,7 +5237,8 @@ class ComputeTestCase(BaseTestCase):
self.mox.ReplayAll()
- result = self.compute._get_instances_on_driver(fake_context)
+ result = self.compute._get_instances_on_driver(fake_context,
+ columns_to_join=[])
self.assertEqual(driver_instances, result)
def test_get_instances_on_driver_fallback(self):
@@ -5104,7 +5269,7 @@ class ComputeTestCase(BaseTestCase):
[inst['name'] for inst in driver_instances])
self.compute.conductor_api.instance_get_all_by_filters(
fake_context, filters,
- columns_to_join=[]).AndReturn(all_instances)
+ columns_to_join=None).AndReturn(all_instances)
self.mox.ReplayAll()
@@ -5269,6 +5434,38 @@ class ComputeTestCase(BaseTestCase):
self._test_sync_to_stop(power_state.RUNNING, vs, ps,
stop=False)
+ def _test_lifecycle_event(self, lifecycle_event, power_state):
+ instance = self._create_fake_instance()
+ uuid = instance['uuid']
+
+ self.mox.StubOutWithMock(self.compute, '_sync_instance_power_state')
+ if power_state != None:
+ self.compute._sync_instance_power_state(
+ mox.IgnoreArg(),
+ mox.ContainsKeyValue('uuid', uuid),
+ power_state)
+ self.mox.ReplayAll()
+ self.compute.handle_events(LifecycleEvent(uuid, lifecycle_event))
+ self.mox.VerifyAll()
+ self.mox.UnsetStubs()
+
+ def test_lifecycle_events(self):
+ self._test_lifecycle_event(EVENT_LIFECYCLE_STOPPED,
+ power_state.SHUTDOWN)
+ self._test_lifecycle_event(EVENT_LIFECYCLE_STARTED,
+ power_state.RUNNING)
+ self._test_lifecycle_event(EVENT_LIFECYCLE_PAUSED,
+ power_state.PAUSED)
+ self._test_lifecycle_event(EVENT_LIFECYCLE_RESUMED,
+ power_state.RUNNING)
+ self._test_lifecycle_event(-1, None)
+
+ def test_lifecycle_event_non_existent_instance(self):
+ # No error raised for non-existent instance because of inherent race
+ # between database updates and hypervisor events. See bug #1180501.
+ event = LifecycleEvent('does-not-exist', EVENT_LIFECYCLE_STOPPED)
+ self.compute.handle_events(event)
+
class ComputeAPITestCase(BaseTestCase):
@@ -5710,6 +5907,21 @@ class ComputeAPITestCase(BaseTestCase):
db.instance_destroy(self.context, instance['uuid'])
+ def test_delete_if_not_launched(self):
+ instance, instance_uuid = self._run_instance(params={
+ 'host': CONF.host})
+
+ db.instance_update(self.context, instance['uuid'],
+ {"vm_state": vm_states.ERROR,
+ "launched_at": None})
+
+ self.compute_api.delete(self.context, instance)
+
+ instance = db.instance_get_by_uuid(self.context, instance_uuid)
+ self.assertEqual(instance['task_state'], task_states.DELETING)
+
+ db.instance_destroy(self.context, instance['uuid'])
+
def test_delete_in_resizing(self):
def fake_quotas_reserve(context, expire=None, project_id=None,
**deltas):
@@ -5984,7 +6196,7 @@ class ComputeAPITestCase(BaseTestCase):
db.instance_destroy(self.context, instance['uuid'])
- def test_rebuild(self):
+ def _test_rebuild(self, vm_state):
instance = jsonutils.to_primitive(self._create_fake_instance())
instance_uuid = instance['uuid']
self.compute.run_instance(self.context, instance=instance)
@@ -6015,6 +6227,10 @@ class ComputeAPITestCase(BaseTestCase):
image_ref = instance["image_ref"] + '-new_image_ref'
password = "new_password"
+
+ db.instance_update(self.context, instance['uuid'],
+ {"vm_state": vm_state})
+
self.compute_api.rebuild(self.context, instance, image_ref, password)
self.assertEqual(info['image_ref'], image_ref)
@@ -6029,6 +6245,34 @@ class ComputeAPITestCase(BaseTestCase):
'preserved': 'preserve this!'})
db.instance_destroy(self.context, instance['uuid'])
+ def test_rebuild(self):
+ # Test we can rebuild an instance in the Error State
+ self._test_rebuild(vm_state=vm_states.ACTIVE)
+
+ def test_rebuild_in_error_state(self):
+ # Test we can rebuild an instance in the Error State
+ self._test_rebuild(vm_state=vm_states.ERROR)
+
+ def test_rebuild_in_error_not_launched(self):
+ instance = jsonutils.to_primitive(
+ self._create_fake_instance(params={'image_ref': ''}))
+ instance_uuid = instance['uuid']
+ self.stubs.Set(fake_image._FakeImageService, 'show', self.fake_show)
+ self.compute.run_instance(self.context, instance=instance)
+
+ db.instance_update(self.context, instance['uuid'],
+ {"vm_state": vm_states.ERROR,
+ "launched_at": None})
+
+ instance = db.instance_get_by_uuid(self.context, instance['uuid'])
+
+ self.assertRaises(exception.InstanceInvalidState,
+ self.compute_api.rebuild,
+ self.context,
+ instance,
+ instance['image_ref'],
+ "new password")
+
def test_rebuild_no_image(self):
instance = jsonutils.to_primitive(
self._create_fake_instance(params={'image_ref': ''}))
@@ -6175,7 +6419,7 @@ class ComputeAPITestCase(BaseTestCase):
self.stubs.Set(nova.virt.fake.FakeDriver, 'legacy_nwinfo',
lambda x: False)
- def test_reboot_soft(self):
+ def _test_reboot_soft(self, vm_state):
# Ensure instance can be soft rebooted.
instance = jsonutils.to_primitive(self._create_fake_instance())
self.compute.run_instance(self.context, instance=instance)
@@ -6192,6 +6436,9 @@ class ComputeAPITestCase(BaseTestCase):
inst_ref = db.instance_get_by_uuid(self.context, instance['uuid'])
self.assertEqual(inst_ref['task_state'], None)
+ db.instance_update(self.context, instance['uuid'],
+ {"vm_state": vm_state})
+
reboot_type = "SOFT"
self._stub_out_reboot(device_name)
self.compute_api.reboot(self.context, inst_ref, reboot_type)
@@ -6201,7 +6448,15 @@ class ComputeAPITestCase(BaseTestCase):
db.instance_destroy(self.context, inst_ref['uuid'])
- def test_reboot_hard(self):
+ def test_soft_reboot(self):
+ # Ensure instance can be rebooted while in error state.
+ self._test_reboot_soft(vm_state=vm_states.ACTIVE)
+
+ def test_soft_reboot_of_instance_in_error(self):
+ # Ensure instance can be rebooted while in error state.
+ self._test_reboot_soft(vm_state=vm_states.ERROR)
+
+ def test_reboot_hard(self, vm_state=vm_states.ACTIVE):
# Ensure instance can be hard rebooted.
instance = jsonutils.to_primitive(self._create_fake_instance())
self.compute.run_instance(self.context, instance=instance)
@@ -6218,6 +6473,9 @@ class ComputeAPITestCase(BaseTestCase):
inst_ref = db.instance_get_by_uuid(self.context, instance['uuid'])
self.assertEqual(inst_ref['task_state'], None)
+ db.instance_update(self.context, instance['uuid'],
+ {"vm_state": vm_state})
+
reboot_type = "HARD"
self._stub_out_reboot(device_name)
self.compute_api.reboot(self.context, inst_ref, reboot_type)
@@ -6227,6 +6485,10 @@ class ComputeAPITestCase(BaseTestCase):
db.instance_destroy(self.context, inst_ref['uuid'])
+ def test_hard_reboot_of_instance_in_error(self):
+ # Ensure instance can be rebooted while in error state.
+ self.test_reboot_hard(vm_state=vm_states.ERROR)
+
def test_hard_reboot_of_soft_rebooting_instance(self):
# Ensure instance can be hard rebooted while soft rebooting.
instance = jsonutils.to_primitive(self._create_fake_instance())
@@ -6263,7 +6525,7 @@ class ComputeAPITestCase(BaseTestCase):
inst_ref,
reboot_type)
- def test_soft_reboot_of_rescued_instance(self):
+ def test_reboot_of_rescued_instance(self):
# Ensure instance can't be rebooted while in rescued state.
instance = jsonutils.to_primitive(self._create_fake_instance())
self.compute.run_instance(self.context, instance=instance)
@@ -6287,6 +6549,33 @@ class ComputeAPITestCase(BaseTestCase):
inst_ref,
'HARD')
+ def test_reboot_of_instance_in_error_not_launched(self):
+ # Ensure instance can be not rebooted while in error states
+ # if they have never been booted at least once.
+ instance = jsonutils.to_primitive(self._create_fake_instance())
+ self.compute.run_instance(self.context, instance=instance)
+
+ inst_ref = db.instance_get_by_uuid(self.context, instance['uuid'])
+ self.assertEqual(inst_ref['task_state'], None)
+
+ db.instance_update(self.context, instance['uuid'],
+ {"vm_state": vm_states.ERROR,
+ "launched_at": None})
+
+ inst_ref = db.instance_get_by_uuid(self.context, inst_ref['uuid'])
+
+ self.assertRaises(exception.InstanceInvalidState,
+ self.compute_api.reboot,
+ self.context,
+ inst_ref,
+ 'SOFT')
+
+ self.assertRaises(exception.InstanceInvalidState,
+ self.compute_api.reboot,
+ self.context,
+ inst_ref,
+ 'HARD')
+
def test_hostname_create(self):
# Ensure instance hostname is set during creation.
inst_type = flavors.get_flavor_by_name('m1.tiny')
@@ -6704,6 +6993,43 @@ class ComputeAPITestCase(BaseTestCase):
self.compute.terminate_instance(self.context,
instance=jsonutils.to_primitive(instance))
+ def test_allow_confirm_resize_on_instance_in_deleting_task_state(self):
+ instance = self._create_fake_instance()
+ old_type = flavors.extract_flavor(instance)
+ new_type = flavors.get_flavor_by_flavor_id('4')
+ sys_meta = utils.metadata_to_dict(instance['system_metadata'])
+ sys_meta = flavors.save_flavor_info(sys_meta,
+ old_type, 'old_')
+ sys_meta = flavors.save_flavor_info(sys_meta,
+ new_type, 'new_')
+ sys_meta = flavors.save_flavor_info(sys_meta,
+ new_type)
+
+ fake_rt = self.mox.CreateMockAnything()
+
+ def fake_drop_resize_claim(*args, **kwargs):
+ pass
+
+ def fake_get_resource_tracker(self):
+ return fake_rt
+
+ self.stubs.Set(fake_rt, 'drop_resize_claim', fake_drop_resize_claim)
+ self.stubs.Set(self.compute, '_get_resource_tracker',
+ fake_get_resource_tracker)
+
+ migration = db.migration_create(self.context.elevated(),
+ {'instance_uuid': instance['uuid'],
+ 'status': 'finished'})
+ instance = db.instance_update(self.context, instance['uuid'],
+ {'task_state': task_states.DELETING,
+ 'vm_state': vm_states.RESIZED,
+ 'system_metadata': sys_meta})
+
+ self.compute.confirm_resize(self.context, instance,
+ migration=migration)
+ instance = db.instance_get_by_uuid(self.context, instance['uuid'])
+ self.assertEqual(vm_states.ACTIVE, instance['vm_state'])
+
def test_resize_revert_through_api(self):
instance = jsonutils.to_primitive(self._create_fake_instance())
instance = db.instance_get_by_uuid(self.context, instance['uuid'])
@@ -7689,7 +8015,8 @@ class ComputeAPITestCase(BaseTestCase):
self.assertRaises(exception.InvalidDevicePath,
self.compute_api.attach_volume,
self.context,
- {'locked': False, 'vm_state': vm_states.ACTIVE},
+ {'locked': False, 'vm_state': vm_states.ACTIVE,
+ 'launched_at': timeutils.utcnow()},
None,
'/invalid')
@@ -7996,6 +8323,7 @@ class ComputeAPITestCase(BaseTestCase):
# Ensure exception is raised while detaching an un-attached volume
instance = {'uuid': 'uuid1',
'locked': False,
+ 'launched_at': timeutils.utcnow(),
'vm_state': vm_states.ACTIVE}
volume = {'id': 1, 'attach_status': 'detached'}
@@ -8008,6 +8336,7 @@ class ComputeAPITestCase(BaseTestCase):
# instance doesn't match.
instance = {'uuid': 'uuid1',
'locked': False,
+ 'launched_at': timeutils.utcnow(),
'vm_state': vm_states.ACTIVE}
volume = {'id': 1, 'attach_status': 'in-use',
'instance_uuid': 'uuid2'}
@@ -8322,6 +8651,7 @@ class ComputeAPITestCase(BaseTestCase):
def test_fail_evacuate_from_non_existing_host(self):
inst = {}
inst['vm_state'] = vm_states.ACTIVE
+ inst['launched_at'] = timeutils.utcnow()
inst['image_ref'] = FAKE_IMAGE_REF
inst['reservation_id'] = 'r-fakeres'
inst['user_id'] = self.user_id
@@ -9413,42 +9743,31 @@ class CheckConfigDriveTestCase(test.TestCase):
def setUp(self):
super(CheckConfigDriveTestCase, self).setUp()
self.compute_api = compute.API()
- self.context = context.RequestContext(
- 'fake_user_id', 'fake_project_id')
- self.called = called = {'show': False}
-
- def fake_get_remote_image_service(context, image_id):
- class FakeGlance(object):
- def show(self, context, image_id):
- called['show'] = True
-
- return FakeGlance(), image_id
-
- self.stubs.Set(glance, 'get_remote_image_service',
- fake_get_remote_image_service)
-
- def tearDown(self):
- self.stubs.UnsetAll()
- super(CheckConfigDriveTestCase, self).tearDown()
-
- def assertCheck(self, expected, config_drive):
+ def _assertCheck(self, expected, config_drive):
self.assertEqual(expected,
- self.compute_api._check_config_drive(
- self.context, config_drive))
-
- def test_value_is_none(self):
- self.assertFalse(self.called['show'])
- self.assertCheck((None, None), None)
- self.assertFalse(self.called['show'])
-
- def test_bool_string_or_id(self):
- self.assertCheck((None, True), "true")
- self.assertCheck((None, True), 1)
- self.assertCheck((None, True), 't')
-
- def test_value_is_image_id(self):
- self.assertCheck(("fake-uuid", None), "fake-uuid")
+ self.compute_api._check_config_drive(config_drive))
+
+ def _assertInvalid(self, config_drive):
+ self.assertRaises(exception.ConfigDriveInvalidValue,
+ self.compute_api._check_config_drive,
+ config_drive)
+
+ def test_config_drive_false_values(self):
+ self._assertCheck('', None)
+ self._assertCheck('', '')
+ self._assertCheck('', 'False')
+ self._assertCheck('', 'f')
+ self._assertCheck('', '0')
+
+ def test_config_drive_true_values(self):
+ self._assertCheck(True, 'True')
+ self._assertCheck(True, 't')
+ self._assertCheck(True, '1')
+
+ def test_config_drive_bogus_values_raise(self):
+ self._assertInvalid('asd')
+ self._assertInvalid(uuidutils.generate_uuid())
class CheckRequestedImageTestCase(test.TestCase):
diff --git a/nova/tests/conductor/tasks/__init__.py b/nova/tests/conductor/tasks/__init__.py
new file mode 100644
index 000000000..94e731d20
--- /dev/null
+++ b/nova/tests/conductor/tasks/__init__.py
@@ -0,0 +1,11 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
diff --git a/nova/tests/conductor/tasks/test_live_migrate.py b/nova/tests/conductor/tasks/test_live_migrate.py
new file mode 100644
index 000000000..c54e53b1a
--- /dev/null
+++ b/nova/tests/conductor/tasks/test_live_migrate.py
@@ -0,0 +1,311 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from nova.compute import flavors
+from nova.compute import power_state
+from nova.conductor.tasks import live_migrate
+from nova import db
+from nova import exception
+from nova import test
+
+
+class LiveMigrationTaskTestCase(test.TestCase):
+ def setUp(self):
+ super(LiveMigrationTaskTestCase, self).setUp()
+ self.context = "context"
+ self.instance_host = "host"
+ self.instance_uuid = "uuid"
+ self.instance_image = "image_ref"
+ self.instance = {
+ "host": self.instance_host,
+ "uuid": self.instance_uuid,
+ "power_state": power_state.RUNNING,
+ "memory_mb": 512,
+ "image_ref": self.instance_image}
+ self.destination = "destination"
+ self.block_migration = "bm"
+ self.disk_over_commit = "doc"
+ self.select_hosts_callback = self._select_hosts_callback
+ self._generate_task()
+
+ def _generate_task(self):
+ self.task = live_migrate.LiveMigrationTask(self.context,
+ self.instance, self.destination, self.block_migration,
+ self.disk_over_commit, self.select_hosts_callback)
+
+ def _select_hosts_callback(self, *args):
+ return ["host1"]
+
+ def test_execute_with_destination(self):
+ self.mox.StubOutWithMock(self.task, '_check_host_is_up')
+ self.mox.StubOutWithMock(self.task, '_check_requested_destination')
+ self.mox.StubOutWithMock(self.task.compute_rpcapi, 'live_migration')
+
+ self.task._check_host_is_up(self.instance_host)
+ self.task._check_requested_destination()
+ self.task.compute_rpcapi.live_migration(self.context,
+ host=self.instance_host,
+ instance=self.instance,
+ dest=self.destination,
+ block_migration=self.block_migration,
+ migrate_data=None).AndReturn("bob")
+
+ self.mox.ReplayAll()
+ self.assertEqual("bob", self.task.execute())
+
+ def test_execute_without_destination(self):
+ self.destination = None
+ self._generate_task()
+ self.assertEqual(None, self.task.destination)
+
+ self.mox.StubOutWithMock(self.task, '_check_host_is_up')
+ self.mox.StubOutWithMock(self.task, '_find_destination')
+ self.mox.StubOutWithMock(self.task.compute_rpcapi, 'live_migration')
+
+ self.task._check_host_is_up(self.instance_host)
+ self.task._find_destination().AndReturn("found_host")
+ self.task.compute_rpcapi.live_migration(self.context,
+ host=self.instance_host,
+ instance=self.instance,
+ dest="found_host",
+ block_migration=self.block_migration,
+ migrate_data=None).AndReturn("bob")
+
+ self.mox.ReplayAll()
+ self.assertEqual("bob", self.task.execute())
+
+ def test_check_instance_is_running_passes(self):
+ self.task._check_instance_is_running()
+
+ def test_check_instance_is_running_fails_when_shutdown(self):
+ self.task.instance['power_state'] = power_state.SHUTDOWN
+ self.assertRaises(exception.InstanceNotRunning,
+ self.task._check_instance_is_running)
+
+ def test_check_instance_host_is_up(self):
+ self.mox.StubOutWithMock(db, 'service_get_by_compute_host')
+ self.mox.StubOutWithMock(self.task.servicegroup_api, 'service_is_up')
+
+ db.service_get_by_compute_host(self.context,
+ "host").AndReturn("service")
+ self.task.servicegroup_api.service_is_up("service").AndReturn(True)
+
+ self.mox.ReplayAll()
+ self.task._check_host_is_up("host")
+
+ def test_check_instance_host_is_up_fails_if_not_up(self):
+ self.mox.StubOutWithMock(db, 'service_get_by_compute_host')
+ self.mox.StubOutWithMock(self.task.servicegroup_api, 'service_is_up')
+
+ db.service_get_by_compute_host(self.context,
+ "host").AndReturn("service")
+ self.task.servicegroup_api.service_is_up("service").AndReturn(False)
+
+ self.mox.ReplayAll()
+ self.assertRaises(exception.ComputeServiceUnavailable,
+ self.task._check_host_is_up, "host")
+
+ def test_check_instance_host_is_up_fails_if_not_found(self):
+ self.mox.StubOutWithMock(db, 'service_get_by_compute_host')
+
+ db.service_get_by_compute_host(self.context,
+ "host").AndRaise(exception.NotFound)
+
+ self.mox.ReplayAll()
+ self.assertRaises(exception.ComputeServiceUnavailable,
+ self.task._check_host_is_up, "host")
+
+ def test_check_requested_destination(self):
+ self.mox.StubOutWithMock(db, 'service_get_by_compute_host')
+ self.mox.StubOutWithMock(self.task, '_get_compute_info')
+ self.mox.StubOutWithMock(self.task.servicegroup_api, 'service_is_up')
+ self.mox.StubOutWithMock(self.task.compute_rpcapi,
+ 'check_can_live_migrate_destination')
+
+ db.service_get_by_compute_host(self.context,
+ self.destination).AndReturn("service")
+ self.task.servicegroup_api.service_is_up("service").AndReturn(True)
+ hypervisor_details = {
+ "hypervisor_type": "a",
+ "hypervisor_version": 6.1,
+ "free_ram_mb": 513
+ }
+ self.task._get_compute_info(self.destination)\
+ .AndReturn(hypervisor_details)
+ self.task._get_compute_info(self.instance_host)\
+ .AndReturn(hypervisor_details)
+ self.task._get_compute_info(self.destination)\
+ .AndReturn(hypervisor_details)
+
+ self.task.compute_rpcapi.check_can_live_migrate_destination(
+ self.context, self.instance, self.destination,
+ self.block_migration, self.disk_over_commit).AndReturn(
+ "migrate_data")
+
+ self.mox.ReplayAll()
+ self.task._check_requested_destination()
+ self.assertEqual("migrate_data", self.task.migrate_data)
+
+ def test_check_requested_destination_fails_with_same_dest(self):
+ self.task.destination = "same"
+ self.task.source = "same"
+ self.assertRaises(exception.UnableToMigrateToSelf,
+ self.task._check_requested_destination)
+
+ def test_check_requested_destination_fails_when_destination_is_up(self):
+ self.mox.StubOutWithMock(db, 'service_get_by_compute_host')
+
+ db.service_get_by_compute_host(self.context,
+ self.destination).AndRaise(exception.NotFound)
+
+ self.mox.ReplayAll()
+ self.assertRaises(exception.ComputeServiceUnavailable,
+ self.task._check_requested_destination)
+
+ def test_check_requested_destination_fails_with_not_enough_memory(self):
+ self.mox.StubOutWithMock(self.task, '_check_host_is_up')
+ self.mox.StubOutWithMock(db, 'service_get_by_compute_host')
+
+ self.task._check_host_is_up(self.destination)
+ db.service_get_by_compute_host(self.context,
+ self.destination).AndReturn({
+ "compute_node": [{"free_ram_mb": 511}]
+ })
+
+ self.mox.ReplayAll()
+ self.assertRaises(exception.MigrationPreCheckError,
+ self.task._check_requested_destination)
+
+ def test_check_requested_destination_fails_with_hypervisor_diff(self):
+ self.mox.StubOutWithMock(self.task, '_check_host_is_up')
+ self.mox.StubOutWithMock(self.task,
+ '_check_destination_has_enough_memory')
+ self.mox.StubOutWithMock(self.task, '_get_compute_info')
+
+ self.task._check_host_is_up(self.destination)
+ self.task._check_destination_has_enough_memory()
+ self.task._get_compute_info(self.instance_host).AndReturn({
+ "hypervisor_type": "b"
+ })
+ self.task._get_compute_info(self.destination).AndReturn({
+ "hypervisor_type": "a"
+ })
+
+ self.mox.ReplayAll()
+ self.assertRaises(exception.InvalidHypervisorType,
+ self.task._check_requested_destination)
+
+ def test_check_requested_destination_fails_with_hypervisor_too_old(self):
+ self.mox.StubOutWithMock(self.task, '_check_host_is_up')
+ self.mox.StubOutWithMock(self.task,
+ '_check_destination_has_enough_memory')
+ self.mox.StubOutWithMock(self.task, '_get_compute_info')
+
+ self.task._check_host_is_up(self.destination)
+ self.task._check_destination_has_enough_memory()
+ self.task._get_compute_info(self.instance_host).AndReturn({
+ "hypervisor_type": "a",
+ "hypervisor_version": 7
+ })
+ self.task._get_compute_info(self.destination).AndReturn({
+ "hypervisor_type": "a",
+ "hypervisor_version": 6
+ })
+
+ self.mox.ReplayAll()
+ self.assertRaises(exception.DestinationHypervisorTooOld,
+ self.task._check_requested_destination)
+
+ def test_find_destination_works(self):
+ self.mox.StubOutWithMock(self.task.image_service, 'show')
+ self.mox.StubOutWithMock(flavors, 'extract_flavor')
+ self.mox.StubOutWithMock(self.task,
+ '_check_compatible_with_source_hypervisor')
+ self.mox.StubOutWithMock(self.task, '_call_livem_checks_on_host')
+
+ self.task.image_service.show(self.context,
+ self.instance_image).AndReturn("image")
+ flavors.extract_flavor(self.instance).AndReturn("inst_type")
+ self.task._check_compatible_with_source_hypervisor("host1")
+ self.task._call_livem_checks_on_host("host1")
+
+ self.mox.ReplayAll()
+ self.assertEqual("host1", self.task._find_destination())
+
+ def _test_find_destination_retry_hypervisor_raises(self, error):
+ self.mox.StubOutWithMock(self.task.image_service, 'show')
+ self.mox.StubOutWithMock(flavors, 'extract_flavor')
+ self.mox.StubOutWithMock(self.task,
+ '_check_compatible_with_source_hypervisor')
+ self.mox.StubOutWithMock(self.task, '_call_livem_checks_on_host')
+
+ self.task.image_service.show(self.context,
+ self.instance_image).AndReturn("image")
+ flavors.extract_flavor(self.instance).AndReturn("inst_type")
+ self.task._check_compatible_with_source_hypervisor("host1")\
+ .AndRaise(error)
+
+ self.task._check_compatible_with_source_hypervisor("host1")
+ self.task._call_livem_checks_on_host("host1")
+
+ self.mox.ReplayAll()
+ self.assertEqual("host1", self.task._find_destination())
+
+ def test_find_destination_retry_with_old_hypervisor(self):
+ self._test_find_destination_retry_hypervisor_raises(
+ exception.DestinationHypervisorTooOld)
+
+ def test_find_destination_retry_with_invalid_hypervisor_type(self):
+ self._test_find_destination_retry_hypervisor_raises(
+ exception.InvalidHypervisorType)
+
+ def test_find_destination_retry_with_invalid_livem_checks(self):
+ self.mox.StubOutWithMock(self.task.image_service, 'show')
+ self.mox.StubOutWithMock(flavors, 'extract_flavor')
+ self.mox.StubOutWithMock(self.task,
+ '_check_compatible_with_source_hypervisor')
+ self.mox.StubOutWithMock(self.task, '_call_livem_checks_on_host')
+
+ self.task.image_service.show(self.context,
+ self.instance_image).AndReturn("image")
+ flavors.extract_flavor(self.instance).AndReturn("inst_type")
+ self.task._check_compatible_with_source_hypervisor("host1")
+ self.task._call_livem_checks_on_host("host1")\
+ .AndRaise(exception.Invalid)
+
+ self.task._check_compatible_with_source_hypervisor("host1")
+ self.task._call_livem_checks_on_host("host1")
+
+ self.mox.ReplayAll()
+ self.assertEqual("host1", self.task._find_destination())
+
+ def test_find_destination_retry_exceeds_max(self):
+ self.flags(scheduler_max_attempts=1)
+ self.mox.StubOutWithMock(self.task.image_service, 'show')
+ self.mox.StubOutWithMock(flavors, 'extract_flavor')
+ self.mox.StubOutWithMock(self.task,
+ '_check_compatible_with_source_hypervisor')
+ self.mox.StubOutWithMock(self.task, '_call_livem_checks_on_host')
+
+ self.task.image_service.show(self.context,
+ self.instance_image).AndReturn("image")
+ flavors.extract_flavor(self.instance).AndReturn("inst_type")
+ self.task._check_compatible_with_source_hypervisor("host1")\
+ .AndRaise(exception.DestinationHypervisorTooOld)
+
+ self.mox.ReplayAll()
+ self.assertRaises(exception.NoValidHost, self.task._find_destination)
+
+ def test_not_implemented_rollback(self):
+ self.assertRaises(NotImplementedError, self.task.rollback)
diff --git a/nova/tests/conductor/test_conductor.py b/nova/tests/conductor/test_conductor.py
index 195890b75..9d8725f66 100644
--- a/nova/tests/conductor/test_conductor.py
+++ b/nova/tests/conductor/test_conductor.py
@@ -14,8 +14,6 @@
"""Tests for the conductor service."""
-import datetime
-
import mox
from nova.api.ec2 import ec2utils
@@ -248,9 +246,8 @@ class _BaseTestCase(object):
self.mox.StubOutWithMock(db, 'aggregate_metadata_delete')
db.aggregate_metadata_delete(mox.IgnoreArg(), aggregate['id'], 'fake')
self.mox.ReplayAll()
- result = self.conductor.aggregate_metadata_delete(self.context,
- aggregate,
- 'fake')
+ self.conductor.aggregate_metadata_delete(self.context, aggregate,
+ 'fake')
def test_aggregate_metadata_get_by_host(self):
self.mox.StubOutWithMock(db, 'aggregate_metadata_get_by_host')
@@ -376,99 +373,33 @@ class _BaseTestCase(object):
self.assertEqual(result, 'fake-usage')
def test_vol_usage_update(self):
- # the vol_usage_update method sends the volume usage notifications
- # as well as updating the database
- now = datetime.datetime(1, 1, 1)
- self.mox.StubOutWithMock(timeutils, 'utcnow')
- # nova.context
- timeutils.utcnow().AndReturn(0)
- # vol_usage_update 1
- timeutils.utcnow().AndReturn(now)
- # openstack.common.notifier
- timeutils.utcnow().AndReturn(now)
- self.mox.ReplayAll()
-
- inst = self._create_fake_instance({
- 'project_id': 'fake-project_id',
- 'user_id': 'fake-user_id',
- })
-
- self.conductor.vol_usage_update(self.context, 'fake-vol',
- 22, 33, 44, 55, inst,
- '2013-06-05T16:53:27.0', False)
-
- self.assertEquals(len(test_notifier.NOTIFICATIONS), 1)
- msg = test_notifier.NOTIFICATIONS[0]
- payload = msg['payload']
- self.assertEquals(payload['instance_id'], inst['uuid'])
- self.assertEquals(payload['user_id'], 'fake-user_id')
- self.assertEquals(payload['tenant_id'], 'fake-project_id')
- self.assertEquals(payload['reads'], 22)
- self.assertEquals(payload['read_bytes'], 33)
- self.assertEquals(payload['writes'], 44)
- self.assertEquals(payload['write_bytes'], 55)
- self.assertEquals(payload['availability_zone'], 'fake-az')
- self.assertEquals(payload['last_refreshed'], '0001-01-01 00:00:00')
-
- # We need to unset and verify that we call the timutils.utcnow method
- # correctly now, as this method gets called as part of the setup
- # for the ConductorAPITestCase testcase.
- self.mox.UnsetStubs()
- self.mox.VerifyAll()
-
- def test_vol_usage_update_again(self):
- # Test updating the volume usage a second time and make sure that
- # the database queries to update and generate the volume usage
- # event payload continue to work
- now = datetime.datetime(1, 1, 1, 0, 0, 0)
- self.mox.StubOutWithMock(timeutils, 'utcnow')
- # nova.context
- timeutils.utcnow().AndReturn(0)
-
- # vol_usage_update call
- timeutils.utcnow().AndReturn(now)
- # openstack.common.notifier
- timeutils.utcnow().AndReturn(now)
-
- now2 = datetime.datetime(1, 1, 1, 0, 1, 0)
- # vol_usage_update second call
- timeutils.utcnow().AndReturn(now2)
- # openstack.common.notifier
- timeutils.utcnow().AndReturn(now2)
+ self.mox.StubOutWithMock(db, 'vol_usage_update')
+ self.mox.StubOutWithMock(test_notifier, 'notify')
+ self.mox.StubOutWithMock(compute_utils, 'usage_volume_info')
+
+ fake_inst = {'uuid': 'fake-uuid',
+ 'project_id': 'fake-project',
+ 'user_id': 'fake-user',
+ 'availability_zone': 'fake-az',
+ }
+
+ db.vol_usage_update(self.context, 'fake-vol', 22, 33, 44, 55,
+ fake_inst['uuid'],
+ fake_inst['project_id'],
+ fake_inst['user_id'],
+ fake_inst['availability_zone'],
+ False).AndReturn('fake-usage')
+ compute_utils.usage_volume_info('fake-usage').AndReturn('fake-info')
+ notifier_api.notify(self.context,
+ 'conductor.%s' % self.conductor_manager.host,
+ 'volume.usage', notifier_api.INFO,
+ 'fake-info')
self.mox.ReplayAll()
- inst = self._create_fake_instance({
- 'project_id': 'fake-project_id',
- 'user_id': 'fake-user_id',
- })
-
- self.conductor.vol_usage_update(self.context, 'fake-vol',
- 22, 33, 44, 55, inst,
- '2013-06-05T16:53:27.0', False)
-
self.conductor.vol_usage_update(self.context, 'fake-vol',
- 122, 133, 144, 155, inst,
- '2013-06-05T16:53:27.0', False)
-
- self.assertEquals(len(test_notifier.NOTIFICATIONS), 2)
- msg = test_notifier.NOTIFICATIONS[1]
- payload = msg['payload']
- self.assertEquals(payload['instance_id'], inst['uuid'])
- self.assertEquals(payload['user_id'], 'fake-user_id')
- self.assertEquals(payload['tenant_id'], 'fake-project_id')
- self.assertEquals(payload['reads'], 122)
- self.assertEquals(payload['read_bytes'], 133)
- self.assertEquals(payload['writes'], 144)
- self.assertEquals(payload['write_bytes'], 155)
- self.assertEquals(payload['availability_zone'], 'fake-az')
- self.assertEquals(payload['last_refreshed'], '0001-01-01 00:01:00')
-
- # We need to unset and verify that we call the timutils.utcnow method
- # correctly now, as this method gets called as part of the setup
- # for the ConductorAPITestCase testcase.
- self.mox.UnsetStubs()
- self.mox.VerifyAll()
+ 22, 33, 44, 55, fake_inst,
+ 'fake-update-time', False)
def test_compute_node_create(self):
self.mox.StubOutWithMock(db, 'compute_node_create')
@@ -684,13 +615,28 @@ class ConductorTestCase(_BaseTestCase, test.TestCase):
self.conductor_manager = self.conductor
def test_block_device_mapping_update_or_create(self):
- fake_bdm = {'id': 'fake-id'}
+ fake_bdm = {'id': 'fake-id', 'device_name': 'foo'}
+ fake_bdm2 = {'id': 'fake-id', 'device_name': 'foo2'}
+ cells_rpcapi = self.conductor.cells_rpcapi
self.mox.StubOutWithMock(db, 'block_device_mapping_create')
self.mox.StubOutWithMock(db, 'block_device_mapping_update')
self.mox.StubOutWithMock(db, 'block_device_mapping_update_or_create')
- db.block_device_mapping_create(self.context, fake_bdm)
- db.block_device_mapping_update(self.context, fake_bdm['id'], fake_bdm)
- db.block_device_mapping_update_or_create(self.context, fake_bdm)
+ self.mox.StubOutWithMock(cells_rpcapi,
+ 'bdm_update_or_create_at_top')
+ db.block_device_mapping_create(self.context,
+ fake_bdm).AndReturn(fake_bdm2)
+ cells_rpcapi.bdm_update_or_create_at_top(self.context, fake_bdm2,
+ create=True)
+ db.block_device_mapping_update(self.context, fake_bdm['id'],
+ fake_bdm).AndReturn(fake_bdm2)
+ cells_rpcapi.bdm_update_or_create_at_top(self.context,
+ fake_bdm2,
+ create=False)
+ db.block_device_mapping_update_or_create(
+ self.context, fake_bdm).AndReturn(fake_bdm2)
+ cells_rpcapi.bdm_update_or_create_at_top(self.context,
+ fake_bdm2,
+ create=None)
self.mox.ReplayAll()
self.conductor.block_device_mapping_update_or_create(self.context,
fake_bdm,
@@ -702,22 +648,44 @@ class ConductorTestCase(_BaseTestCase, test.TestCase):
fake_bdm)
def test_block_device_mapping_destroy(self):
- fake_bdm = {'id': 'fake-bdm'}
- fake_bdm2 = {'id': 'fake-bdm-2'}
+ fake_bdm = {'id': 'fake-bdm',
+ 'instance_uuid': 'fake-uuid',
+ 'device_name': 'fake-device1',
+ 'volume_id': 'fake-vol-id1'}
+ fake_bdm2 = {'id': 'fake-bdm-2',
+ 'instance_uuid': 'fake-uuid2',
+ 'device_name': '',
+ 'volume_id': 'fake-vol-id2'}
fake_inst = {'uuid': 'fake-uuid'}
+
+ cells_rpcapi = self.conductor.cells_rpcapi
+
self.mox.StubOutWithMock(db, 'block_device_mapping_destroy')
self.mox.StubOutWithMock(
db, 'block_device_mapping_destroy_by_instance_and_device')
self.mox.StubOutWithMock(
db, 'block_device_mapping_destroy_by_instance_and_volume')
+ self.mox.StubOutWithMock(cells_rpcapi, 'bdm_destroy_at_top')
+
db.block_device_mapping_destroy(self.context, 'fake-bdm')
+ cells_rpcapi.bdm_destroy_at_top(self.context,
+ fake_bdm['instance_uuid'],
+ device_name=fake_bdm['device_name'])
db.block_device_mapping_destroy(self.context, 'fake-bdm-2')
+ cells_rpcapi.bdm_destroy_at_top(self.context,
+ fake_bdm2['instance_uuid'],
+ volume_id=fake_bdm2['volume_id'])
db.block_device_mapping_destroy_by_instance_and_device(self.context,
'fake-uuid',
'fake-device')
+ cells_rpcapi.bdm_destroy_at_top(self.context, fake_inst['uuid'],
+ device_name='fake-device')
db.block_device_mapping_destroy_by_instance_and_volume(self.context,
'fake-uuid',
'fake-volume')
+ cells_rpcapi.bdm_destroy_at_top(self.context, fake_inst['uuid'],
+ volume_id='fake-volume')
+
self.mox.ReplayAll()
self.conductor.block_device_mapping_destroy(self.context,
[fake_bdm,
@@ -862,8 +830,12 @@ class ConductorRPCAPITestCase(_BaseTestCase, test.TestCase):
fake_bdm)
def test_block_device_mapping_destroy(self):
- fake_bdm = {'id': 'fake-bdm'}
+ fake_bdm = {'id': 'fake-bdm',
+ 'instance_uuid': 'fake-uuid',
+ 'device_name': 'fake-device1',
+ 'volume_id': 'fake-vol-id1'}
fake_inst = {'uuid': 'fake-uuid'}
+
self.mox.StubOutWithMock(db, 'block_device_mapping_destroy')
self.mox.StubOutWithMock(
db, 'block_device_mapping_destroy_by_instance_and_device')
@@ -1013,8 +985,12 @@ class ConductorAPITestCase(_BaseTestCase, test.TestCase):
'fake-bdm')
def test_block_device_mapping_destroy(self):
- fake_bdm = {'id': 'fake-bdm'}
+ fake_bdm = {'id': 'fake-bdm',
+ 'instance_uuid': 'fake-uuid',
+ 'device_name': 'fake-device1',
+ 'volume_id': 'fake-vol-id1'}
fake_inst = {'uuid': 'fake-uuid'}
+
self.mox.StubOutWithMock(db, 'block_device_mapping_destroy')
self.mox.StubOutWithMock(
db, 'block_device_mapping_destroy_by_instance_and_device')
@@ -1251,21 +1227,32 @@ class _BaseTaskTestCase(object):
def test_build_instances(self):
instance_type = flavors.get_default_flavor()
system_metadata = flavors.save_flavor_info({}, instance_type)
- # NOTE(alaski): instance_type -> system_metadata -> instance_type loses
- # some data (extra_specs) so we need both for testing.
- instance_type_extract = flavors.extract_flavor(
+ # NOTE(alaski): instance_type -> system_metadata -> instance_type
+ # loses some data (extra_specs). This build process is using
+ # scheduler/utils:build_request_spec() which extracts flavor from
+ # system_metadata and will re-query the DB for extra_specs.. so
+ # we need to test this properly
+ expected_instance_type = flavors.extract_flavor(
{'system_metadata': system_metadata})
+ expected_instance_type['extra_specs'] = 'fake-specs'
+
+ self.mox.StubOutWithMock(db, 'instance_type_extra_specs_get')
self.mox.StubOutWithMock(self.conductor_manager.scheduler_rpcapi,
'run_instance')
+
+ db.instance_type_extra_specs_get(
+ self.context,
+ instance_type['flavorid']).AndReturn('fake-specs')
self.conductor_manager.scheduler_rpcapi.run_instance(self.context,
request_spec={
'image': {'fake_data': 'should_pass_silently'},
'instance_properties': {'system_metadata': system_metadata,
'uuid': 'fakeuuid'},
- 'instance_type': instance_type_extract,
+ 'instance_type': expected_instance_type,
'instance_uuids': ['fakeuuid', 'fakeuuid2'],
'block_device_mapping': 'block_device_mapping',
- 'security_group': 'security_groups'},
+ 'security_group': 'security_groups',
+ 'num_instances': 2},
admin_password='admin_password',
injected_files='injected_files',
requested_networks='requested_networks', is_first_time=True,
diff --git a/nova/tests/db/test_db_api.py b/nova/tests/db/test_db_api.py
index df5561ae0..15ef5c3c1 100644
--- a/nova/tests/db/test_db_api.py
+++ b/nova/tests/db/test_db_api.py
@@ -30,6 +30,7 @@ from sqlalchemy.dialects import sqlite
from sqlalchemy import exc
from sqlalchemy.exc import IntegrityError
from sqlalchemy import MetaData
+from sqlalchemy.orm import exc as sqlalchemy_orm_exc
from sqlalchemy.orm import query
from sqlalchemy.sql.expression import select
@@ -120,235 +121,20 @@ class DbTestCase(test.TestCase):
class DbApiTestCase(DbTestCase):
- def test_create_instance_unique_hostname(self):
- otherprojectcontext = context.RequestContext(self.user_id,
- "%s2" % self.project_id)
-
- self.create_instance_with_args(hostname='fake_name')
-
- # With scope 'global' any duplicate should fail, be it this project:
- self.flags(osapi_compute_unique_server_name_scope='global')
- self.assertRaises(exception.InstanceExists,
- self.create_instance_with_args,
- hostname='fake_name')
-
- # or another:
- self.assertRaises(exception.InstanceExists,
- self.create_instance_with_args,
- context=otherprojectcontext,
- hostname='fake_name')
-
- # With scope 'project' a duplicate in the project should fail:
- self.flags(osapi_compute_unique_server_name_scope='project')
- self.assertRaises(exception.InstanceExists,
- self.create_instance_with_args,
- hostname='fake_name')
-
- # With scope 'project' a duplicate in a different project should work:
- self.flags(osapi_compute_unique_server_name_scope='project')
- self.create_instance_with_args(context=otherprojectcontext,
- hostname='fake_name')
-
- self.flags(osapi_compute_unique_server_name_scope=None)
-
- def test_instance_metadata_get_all_query(self):
- self.create_instance_with_args(metadata={'foo': 'bar'})
- self.create_instance_with_args(metadata={'baz': 'quux'})
-
- result = db.instance_metadata_get_all(self.context, [])
- self.assertEqual(2, len(result))
-
- result = db.instance_metadata_get_all(self.context,
- [{'key': 'foo'}])
- self.assertEqual(1, len(result))
-
- result = db.instance_metadata_get_all(self.context,
- [{'value': 'quux'}])
- self.assertEqual(1, len(result))
-
- result = db.instance_metadata_get_all(self.context,
- [{'value': 'quux'},
- {'key': 'foo'}])
- self.assertEqual(2, len(result))
def test_ec2_ids_not_found_are_printable(self):
- def check_exc_format(method):
+ def check_exc_format(method, value):
try:
- method(self.context, 'fake')
+ method(self.context, value)
except exception.NotFound as exc:
- self.assertTrue('fake' in unicode(exc))
+ self.assertTrue(unicode(value) in unicode(exc))
- check_exc_format(db.get_ec2_volume_id_by_uuid)
- check_exc_format(db.get_volume_uuid_by_ec2_id)
- check_exc_format(db.get_ec2_snapshot_id_by_uuid)
- check_exc_format(db.get_snapshot_uuid_by_ec2_id)
- check_exc_format(db.get_ec2_instance_id_by_uuid)
- check_exc_format(db.get_instance_uuid_by_ec2_id)
-
- def test_instance_get_all_with_meta(self):
- inst = self.create_instance_with_args()
- fake_meta, fake_sys = self.create_metadata_for_instance(inst['uuid'])
- result = db.instance_get_all(self.context)
- for inst in result:
- meta = utils.metadata_to_dict(inst['metadata'])
- self.assertEqual(meta, fake_meta)
- sys_meta = utils.metadata_to_dict(inst['system_metadata'])
- self.assertEqual(sys_meta, fake_sys)
-
- def test_instance_get_all_by_filters_with_meta(self):
- inst = self.create_instance_with_args()
- fake_meta, fake_sys = self.create_metadata_for_instance(inst['uuid'])
- result = db.instance_get_all_by_filters(self.context, {})
- for inst in result:
- meta = utils.metadata_to_dict(inst['metadata'])
- self.assertEqual(meta, fake_meta)
- sys_meta = utils.metadata_to_dict(inst['system_metadata'])
- self.assertEqual(sys_meta, fake_sys)
-
- def test_instance_get_all_by_filters_without_meta(self):
- inst = self.create_instance_with_args()
- fake_meta, fake_sys = self.create_metadata_for_instance(inst['uuid'])
- result = db.instance_get_all_by_filters(self.context, {},
- columns_to_join=[])
- for inst in result:
- meta = utils.metadata_to_dict(inst['metadata'])
- self.assertEqual(meta, {})
- sys_meta = utils.metadata_to_dict(inst['system_metadata'])
- self.assertEqual(sys_meta, {})
-
- def test_instance_get_all_by_filters(self):
- self.create_instance_with_args()
- self.create_instance_with_args()
- result = db.instance_get_all_by_filters(self.context, {})
- self.assertEqual(2, len(result))
-
- def test_instance_get_all_by_filters_regex(self):
- self.create_instance_with_args(display_name='test1')
- self.create_instance_with_args(display_name='teeeest2')
- self.create_instance_with_args(display_name='diff')
- result = db.instance_get_all_by_filters(self.context,
- {'display_name': 't.*st.'})
- self.assertEqual(2, len(result))
-
- def test_instance_get_all_by_filters_exact_match(self):
- self.create_instance_with_args(host='host1')
- self.create_instance_with_args(host='host12')
- result = db.instance_get_all_by_filters(self.context,
- {'host': 'host1'})
- self.assertEqual(1, len(result))
-
- def test_instance_get_all_by_filters_metadata(self):
- self.create_instance_with_args(metadata={'foo': 'bar'})
- self.create_instance_with_args()
- result = db.instance_get_all_by_filters(self.context,
- {'metadata': {'foo': 'bar'}})
- self.assertEqual(1, len(result))
-
- def test_instance_get_all_by_filters_unicode_value(self):
- self.create_instance_with_args(display_name=u'test♥')
- result = db.instance_get_all_by_filters(self.context,
- {'display_name': u'test'})
- self.assertEqual(1, len(result))
-
- def test_instance_get_by_uuid(self):
- inst = self.create_instance_with_args()
- fake_meta, fake_sys = self.create_metadata_for_instance(inst['uuid'])
- result = db.instance_get_by_uuid(self.context, inst['uuid'])
- meta = utils.metadata_to_dict(result['metadata'])
- self.assertEqual(meta, fake_meta)
- sys_meta = utils.metadata_to_dict(result['system_metadata'])
- self.assertEqual(sys_meta, fake_sys)
-
- def test_instance_get_by_uuid_join_empty(self):
- inst = self.create_instance_with_args()
- fake_meta, fake_sys = self.create_metadata_for_instance(inst['uuid'])
- result = db.instance_get_by_uuid(self.context, inst['uuid'],
- columns_to_join=[])
- meta = utils.metadata_to_dict(result['metadata'])
- self.assertEqual(meta, {})
- sys_meta = utils.metadata_to_dict(result['system_metadata'])
- self.assertEqual(sys_meta, {})
-
- def test_instance_get_by_uuid_join_meta(self):
- inst = self.create_instance_with_args()
- fake_meta, fake_sys = self.create_metadata_for_instance(inst['uuid'])
- result = db.instance_get_by_uuid(self.context, inst['uuid'],
- columns_to_join=['metadata'])
- meta = utils.metadata_to_dict(result['metadata'])
- self.assertEqual(meta, fake_meta)
- sys_meta = utils.metadata_to_dict(result['system_metadata'])
- self.assertEqual(sys_meta, {})
-
- def test_instance_get_by_uuid_join_sys_meta(self):
- inst = self.create_instance_with_args()
- fake_meta, fake_sys = self.create_metadata_for_instance(inst['uuid'])
- result = db.instance_get_by_uuid(self.context, inst['uuid'],
- columns_to_join=['system_metadata'])
- meta = utils.metadata_to_dict(result['metadata'])
- self.assertEqual(meta, {})
- sys_meta = utils.metadata_to_dict(result['system_metadata'])
- self.assertEqual(sys_meta, fake_sys)
-
- def test_instance_get_all_by_filters_deleted(self):
- inst1 = self.create_instance_with_args()
- inst2 = self.create_instance_with_args(reservation_id='b')
- db.instance_destroy(self.context, inst1['uuid'])
- result = db.instance_get_all_by_filters(self.context, {})
- self.assertEqual(2, len(result))
- self.assertIn(inst1['id'], [result[0]['id'], result[1]['id']])
- self.assertIn(inst2['id'], [result[0]['id'], result[1]['id']])
- if inst1['id'] == result[0]['id']:
- self.assertTrue(result[0]['deleted'])
- else:
- self.assertTrue(result[1]['deleted'])
-
- def test_instance_get_all_by_filters_deleted_and_soft_deleted(self):
- inst1 = self.create_instance_with_args()
- inst2 = self.create_instance_with_args(vm_state=vm_states.SOFT_DELETED)
- inst3 = self.create_instance_with_args()
- db.instance_destroy(self.context, inst1['uuid'])
- result = db.instance_get_all_by_filters(self.context,
- {'deleted': True})
- self.assertEqual(2, len(result))
- self.assertIn(inst1['id'], [result[0]['id'], result[1]['id']])
- self.assertIn(inst2['id'], [result[0]['id'], result[1]['id']])
-
- def test_instance_get_all_by_filters_deleted_no_soft_deleted(self):
- inst1 = self.create_instance_with_args()
- inst2 = self.create_instance_with_args(vm_state=vm_states.SOFT_DELETED)
- inst3 = self.create_instance_with_args()
- db.instance_destroy(self.context, inst1['uuid'])
- result = db.instance_get_all_by_filters(self.context,
- {'deleted': True,
- 'soft_deleted': False})
- self.assertEqual(1, len(result))
- self.assertEqual(inst1['id'], result[0]['id'])
-
- def test_instance_get_all_by_filters_alive_and_soft_deleted(self):
- inst1 = self.create_instance_with_args()
- inst2 = self.create_instance_with_args(vm_state=vm_states.SOFT_DELETED)
- inst3 = self.create_instance_with_args()
- db.instance_destroy(self.context, inst1['uuid'])
- result = db.instance_get_all_by_filters(self.context,
- {'deleted': False,
- 'soft_deleted': True})
- self.assertEqual(2, len(result))
- self.assertIn(inst2['id'], [result[0]['id'], result[1]['id']])
- self.assertIn(inst3['id'], [result[0]['id'], result[1]['id']])
-
- def test_instance_get_all_by_host_and_node_no_join(self):
- # Test that system metadata is not joined.
- sys_meta = {'foo': 'bar'}
- expected = self.create_instance_with_args(system_metadata=sys_meta)
-
- elevated = self.context.elevated()
- instances = db.instance_get_all_by_host_and_node(elevated, 'host1',
- 'node1')
- self.assertEqual(1, len(instances))
- instance = instances[0]
- self.assertEqual(expected['uuid'], instance['uuid'])
- sysmeta = dict(instance)['system_metadata']
- self.assertEqual(len(sysmeta), 0)
+ check_exc_format(db.get_ec2_volume_id_by_uuid, 'fake')
+ check_exc_format(db.get_volume_uuid_by_ec2_id, 123456)
+ check_exc_format(db.get_ec2_snapshot_id_by_uuid, 'fake')
+ check_exc_format(db.get_snapshot_uuid_by_ec2_id, 123456)
+ check_exc_format(db.get_ec2_instance_id_by_uuid, 'fake')
+ check_exc_format(db.get_instance_uuid_by_ec2_id, 123456)
def test_migration_get_unconfirmed_by_dest_compute(self):
ctxt = context.get_admin_context()
@@ -389,206 +175,6 @@ class DbApiTestCase(DbTestCase):
self.assertEqual(0, len(results))
db.migration_update(ctxt, migration['id'], {"status": "CONFIRMED"})
- def test_instance_get_all_hung_in_rebooting(self):
- ctxt = context.get_admin_context()
-
- # Ensure no instances are returned.
- results = db.instance_get_all_hung_in_rebooting(ctxt, 10)
- self.assertEqual(0, len(results))
-
- # Ensure one rebooting instance with updated_at older than 10 seconds
- # is returned.
- updated_at = datetime.datetime(2000, 1, 1, 12, 0, 0)
- values = {"task_state": "rebooting", "updated_at": updated_at}
- instance = db.instance_create(ctxt, values)
- results = db.instance_get_all_hung_in_rebooting(ctxt, 10)
- self.assertEqual(1, len(results))
- db.instance_update(ctxt, instance['uuid'], {"task_state": None})
-
- # Ensure the newly rebooted instance is not returned.
- updated_at = timeutils.utcnow()
- values = {"task_state": "rebooting", "updated_at": updated_at}
- instance = db.instance_create(ctxt, values)
- results = db.instance_get_all_hung_in_rebooting(ctxt, 10)
- self.assertEqual(0, len(results))
- db.instance_update(ctxt, instance['uuid'], {"task_state": None})
-
- def test_instance_update_with_expected_vm_state(self):
- ctxt = context.get_admin_context()
- uuid = uuidutils.generate_uuid()
- updates = {'expected_vm_state': 'meow',
- 'moo': 'cow'}
-
- class FakeInstance(dict):
- def save(self, session=None):
- pass
-
- fake_instance_values = {'vm_state': 'meow',
- 'hostname': '',
- 'metadata': None,
- 'system_metadata': None}
- fake_instance = FakeInstance(fake_instance_values)
-
- self.mox.StubOutWithMock(sqlalchemy_api, '_instance_get_by_uuid')
- self.mox.StubOutWithMock(fake_instance, 'save')
-
- sqlalchemy_api._instance_get_by_uuid(ctxt, uuid,
- session=mox.IgnoreArg()).AndReturn(fake_instance)
- fake_instance.save(session=mox.IgnoreArg())
-
- self.mox.ReplayAll()
-
- result = db.instance_update(ctxt, uuid, updates)
- expected_instance = dict(fake_instance_values)
- expected_instance['moo'] = 'cow'
- self.assertEqual(expected_instance, result)
-
- def test_instance_update_with_unexpected_vm_state(self):
- ctxt = context.get_admin_context()
- uuid = uuidutils.generate_uuid()
- updates = {'expected_vm_state': 'meow'}
- fake_instance = {'vm_state': 'nomatch'}
-
- self.mox.StubOutWithMock(sqlalchemy_api, '_instance_get_by_uuid')
-
- sqlalchemy_api._instance_get_by_uuid(ctxt, uuid,
- session=mox.IgnoreArg()).AndReturn(fake_instance)
-
- self.mox.ReplayAll()
-
- self.assertRaises(exception.UnexpectedVMStateError,
- db.instance_update, ctxt, uuid, updates)
-
- def test_instance_update_with_instance_uuid(self):
- # test instance_update() works when an instance UUID is passed.
- ctxt = context.get_admin_context()
-
- # Create an instance with some metadata
- values = {'metadata': {'host': 'foo', 'key1': 'meow'},
- 'system_metadata': {'original_image_ref': 'blah'}}
- instance = db.instance_create(ctxt, values)
-
- # Update the metadata
- values = {'metadata': {'host': 'bar', 'key2': 'wuff'},
- 'system_metadata': {'original_image_ref': 'baz'}}
- db.instance_update(ctxt, instance['uuid'], values)
-
- # Retrieve the user-provided metadata to ensure it was successfully
- # updated
- instance_meta = db.instance_metadata_get(ctxt, instance['uuid'])
- self.assertEqual('bar', instance_meta['host'])
- self.assertEqual('wuff', instance_meta['key2'])
- self.assertNotIn('key1', instance_meta)
-
- # Retrieve the system metadata to ensure it was successfully updated
- system_meta = db.instance_system_metadata_get(ctxt, instance['uuid'])
- self.assertEqual('baz', system_meta['original_image_ref'])
-
- def test_delete_instance_metadata_on_instance_destroy(self):
- ctxt = context.get_admin_context()
-
- # Create an instance with some metadata
- values = {'metadata': {'host': 'foo', 'key1': 'meow'},
- 'system_metadata': {'original_image_ref': 'blah'}}
- instance = db.instance_create(ctxt, values)
- instance_meta = db.instance_metadata_get(ctxt, instance['uuid'])
- self.assertEqual('foo', instance_meta['host'])
- self.assertEqual('meow', instance_meta['key1'])
- db.instance_destroy(ctxt, instance['uuid'])
- instance_meta = db.instance_metadata_get(ctxt, instance['uuid'])
- # Make sure instance metadata is deleted as well
- self.assertEqual({}, instance_meta)
-
- def test_instance_update_unique_name(self):
- otherprojectcontext = context.RequestContext(self.user_id,
- "%s2" % self.project_id)
-
- inst = self.create_instance_with_args(hostname='fake_name')
- uuid1p1 = inst['uuid']
- inst = self.create_instance_with_args(hostname='fake_name2')
- uuid2p1 = inst['uuid']
-
- inst = self.create_instance_with_args(context=otherprojectcontext,
- hostname='fake_name3')
- uuid1p2 = inst['uuid']
-
- # osapi_compute_unique_server_name_scope is unset so this should work:
- values = {'hostname': 'fake_name2'}
- db.instance_update(self.context, uuid1p1, values)
- values = {'hostname': 'fake_name'}
- db.instance_update(self.context, uuid1p1, values)
-
- # With scope 'global' any duplicate should fail.
- self.flags(osapi_compute_unique_server_name_scope='global')
- self.assertRaises(exception.InstanceExists,
- db.instance_update,
- self.context,
- uuid2p1,
- values)
-
- self.assertRaises(exception.InstanceExists,
- db.instance_update,
- otherprojectcontext,
- uuid1p2,
- values)
-
- # But we should definitely be able to update our name if we aren't
- # really changing it.
- case_only_values = {'hostname': 'fake_NAME'}
- db.instance_update(self.context, uuid1p1, case_only_values)
-
- # With scope 'project' a duplicate in the project should fail:
- self.flags(osapi_compute_unique_server_name_scope='project')
- self.assertRaises(exception.InstanceExists,
- db.instance_update,
- self.context,
- uuid2p1,
- values)
-
- # With scope 'project' a duplicate in a different project should work:
- self.flags(osapi_compute_unique_server_name_scope='project')
- db.instance_update(otherprojectcontext, uuid1p2, values)
-
- def test_instance_update_with_and_get_original(self):
- ctxt = context.get_admin_context()
-
- # Create an instance with some metadata
- values = {'vm_state': 'building'}
- instance = db.instance_create(ctxt, values)
-
- (old_ref, new_ref) = db.instance_update_and_get_original(ctxt,
- instance['uuid'], {'vm_state': 'needscoffee'})
- self.assertEquals("building", old_ref["vm_state"])
- self.assertEquals("needscoffee", new_ref["vm_state"])
-
- def _test_instance_update_updates_metadata(self, metadata_type):
- ctxt = context.get_admin_context()
-
- instance = db.instance_create(ctxt, {})
-
- def set_and_check(meta):
- inst = db.instance_update(ctxt, instance['uuid'],
- {metadata_type: dict(meta)})
- _meta = utils.metadata_to_dict(inst[metadata_type])
- self.assertEqual(meta, _meta)
-
- meta = {'speed': '88', 'units': 'MPH'}
- set_and_check(meta)
-
- meta['gigawatts'] = '1.21'
- set_and_check(meta)
-
- del meta['gigawatts']
- set_and_check(meta)
-
- def test_instance_update_updates_system_metadata(self):
- # Ensure that system_metadata is updated during instance_update
- self._test_instance_update_updates_metadata('system_metadata')
-
- def test_instance_update_updates_metadata(self):
- # Ensure that metadata is updated during instance_update
- self._test_instance_update_updates_metadata('metadata')
-
def test_add_key_pair(self, name=None):
"""Check if keypair creation work as expected."""
keypair = {
@@ -662,34 +248,6 @@ class DbApiTestCase(DbTestCase):
db.dnsdomain_unregister(ctxt, domain1)
db.dnsdomain_unregister(ctxt, domain2)
- def test_instance_floating_address_get_all(self):
- ctxt = context.get_admin_context()
-
- instance1 = db.instance_create(ctxt, {'host': 'h1', 'hostname': 'n1'})
- instance2 = db.instance_create(ctxt, {'host': 'h2', 'hostname': 'n2'})
-
- fixed_addresses = ['1.1.1.1', '1.1.1.2', '1.1.1.3']
- float_addresses = ['2.1.1.1', '2.1.1.2', '2.1.1.3']
- instance_uuids = [instance1['uuid'], instance1['uuid'],
- instance2['uuid']]
-
- for fixed_addr, float_addr, instance_uuid in zip(fixed_addresses,
- float_addresses,
- instance_uuids):
- db.fixed_ip_create(ctxt, {'address': fixed_addr,
- 'instance_uuid': instance_uuid})
- fixed_id = db.fixed_ip_get_by_address(ctxt, fixed_addr)['id']
- db.floating_ip_create(ctxt,
- {'address': float_addr,
- 'fixed_ip_id': fixed_id})
-
- real_float_addresses = \
- db.instance_floating_address_get_all(ctxt, instance_uuids[0])
- self.assertEqual(set(float_addresses[:2]), set(real_float_addresses))
- real_float_addresses = \
- db.instance_floating_address_get_all(ctxt, instance_uuids[2])
- self.assertEqual(set([float_addresses[2]]), set(real_float_addresses))
-
def test_get_vol_mapping_non_admin(self):
ref = db.ec2_volume_create(self.context, 'fake-uuid')
ec2_id = db.get_ec2_volume_id_by_uuid(self.context, 'fake-uuid')
@@ -967,8 +525,8 @@ class AggregateDBApiTestCase(test.TestCase):
values2 = {'name': 'fake_aggregate4'}
a1 = _create_aggregate_with_hosts(context=ctxt,
metadata={'goodkey': 'good'})
- a2 = _create_aggregate_with_hosts(context=ctxt, values=values)
- a3 = _create_aggregate(context=ctxt, values=values2)
+ _create_aggregate_with_hosts(context=ctxt, values=values)
+ _create_aggregate(context=ctxt, values=values2)
# filter result by key
r1 = db.aggregate_get_by_host(ctxt, 'foo.openstack.org', key='goodkey')
self.assertEqual([a1['id']], [x['id'] for x in r1])
@@ -977,9 +535,9 @@ class AggregateDBApiTestCase(test.TestCase):
ctxt = context.get_admin_context()
values = {'name': 'fake_aggregate2'}
values2 = {'name': 'fake_aggregate3'}
- a1 = _create_aggregate_with_hosts(context=ctxt)
- a2 = _create_aggregate_with_hosts(context=ctxt, values=values)
- a3 = _create_aggregate_with_hosts(context=ctxt, values=values2,
+ _create_aggregate_with_hosts(context=ctxt)
+ _create_aggregate_with_hosts(context=ctxt, values=values)
+ _create_aggregate_with_hosts(context=ctxt, values=values2,
hosts=['bar.openstack.org'], metadata={'badkey': 'bad'})
r1 = db.aggregate_metadata_get_by_host(ctxt, 'foo.openstack.org')
self.assertEqual(r1['fake_key1'], set(['fake_value1']))
@@ -989,8 +547,8 @@ class AggregateDBApiTestCase(test.TestCase):
ctxt = context.get_admin_context()
values = {'name': 'fake_aggregate2'}
values2 = {'name': 'fake_aggregate3'}
- a1 = _create_aggregate_with_hosts(context=ctxt)
- a2 = _create_aggregate_with_hosts(context=ctxt, values=values)
+ _create_aggregate_with_hosts(context=ctxt)
+ _create_aggregate_with_hosts(context=ctxt, values=values)
a3 = _create_aggregate_with_hosts(context=ctxt, values=values2,
hosts=['foo.openstack.org'], metadata={'good': 'value'})
r1 = db.aggregate_metadata_get_by_host(ctxt, 'foo.openstack.org',
@@ -1007,9 +565,9 @@ class AggregateDBApiTestCase(test.TestCase):
ctxt = context.get_admin_context()
values = {'name': 'fake_aggregate2'}
values2 = {'name': 'fake_aggregate3'}
- a1 = _create_aggregate_with_hosts(context=ctxt)
- a2 = _create_aggregate_with_hosts(context=ctxt, values=values)
- a3 = _create_aggregate_with_hosts(context=ctxt, values=values2,
+ _create_aggregate_with_hosts(context=ctxt)
+ _create_aggregate_with_hosts(context=ctxt, values=values)
+ _create_aggregate_with_hosts(context=ctxt, values=values2,
hosts=['foo.openstack.org'], metadata={'good': 'value'})
r1 = db.aggregate_host_get_by_metadata_key(ctxt, key='good')
self.assertEqual(r1, {'foo.openstack.org': set(['value'])})
@@ -1319,10 +877,11 @@ class ModelsObjectComparatorMixin(object):
self.assertEqual(value, obj2[key])
def _assertEqualListsOfObjects(self, objs1, objs2, ignored_keys=None):
- self.assertEqual(len(objs1), len(objs2))
- objs2 = dict([(o['id'], o) for o in objs2])
- for o1 in objs1:
- self._assertEqualObjects(o1, objs2[o1['id']], ignored_keys)
+ obj_to_dict = lambda o: self._dict_from_object(o, ignored_keys)
+ sort_key = lambda d: [d[k] for k in sorted(d)]
+ conv_and_sort = lambda obj: sorted(map(obj_to_dict, obj), key=sort_key)
+
+ self.assertEqual(conv_and_sort(objs1), conv_and_sort(objs2))
def _assertEqualListsOfPrimitivesAsSets(self, primitives1, primitives2):
self.assertEqual(len(primitives1), len(primitives2))
@@ -1333,6 +892,54 @@ class ModelsObjectComparatorMixin(object):
self.assertIn(primitive, primitives1)
+class InstanceSystemMetadataTestCase(test.TestCase):
+
+ """Tests for db.api.instance_system_metadata_* methods."""
+
+ def setUp(self):
+ super(InstanceSystemMetadataTestCase, self).setUp()
+ values = {'host': 'h1', 'project_id': 'p1',
+ 'system_metadata': {'key': 'value'}}
+ self.ctxt = context.get_admin_context()
+ self.instance = db.instance_create(self.ctxt, values)
+
+ def test_instance_system_metadata_get(self):
+ metadata = db.instance_system_metadata_get(self.ctxt,
+ self.instance['uuid'])
+ self.assertEqual(metadata, {'key': 'value'})
+
+ def test_instance_system_metadata_update_new_pair(self):
+ db.instance_system_metadata_update(
+ self.ctxt, self.instance['uuid'],
+ {'new_key': 'new_value'}, False)
+ metadata = db.instance_system_metadata_get(self.ctxt,
+ self.instance['uuid'])
+ self.assertEqual(metadata, {'key': 'value', 'new_key': 'new_value'})
+
+ def test_instance_system_metadata_update_existent_pair(self):
+ db.instance_system_metadata_update(
+ self.ctxt, self.instance['uuid'],
+ {'key': 'new_value'}, True)
+ metadata = db.instance_system_metadata_get(self.ctxt,
+ self.instance['uuid'])
+ self.assertEqual(metadata, {'key': 'new_value'})
+
+ def test_instance_system_metadata_update_delete_true(self):
+ db.instance_system_metadata_update(
+ self.ctxt, self.instance['uuid'],
+ {'new_key': 'new_value'}, True)
+ metadata = db.instance_system_metadata_get(self.ctxt,
+ self.instance['uuid'])
+ self.assertEqual(metadata, {'new_key': 'new_value'})
+
+ @test.testtools.skip("bug 1189462")
+ def test_instance_system_metadata_update_nonexistent(self):
+ self.assertRaises(exception.InstanceNotFound,
+ db.instance_system_metadata_update,
+ self.ctxt, 'nonexistent-uuid',
+ {'key': 'value'}, True)
+
+
class ReservationTestCase(test.TestCase, ModelsObjectComparatorMixin):
"""Tests for db.api.reservation_* methods."""
@@ -1434,7 +1041,7 @@ class ReservationTestCase(test.TestCase, ModelsObjectComparatorMixin):
def test_reservation_expire(self):
self.values['expire'] = datetime.datetime.utcnow() + datetime.\
timedelta(days=1)
- reservations = self._quota_reserve()
+ self._quota_reserve()
db.reservation_expire(self.ctxt)
expected = {'project_id': 'project1',
@@ -1445,6 +1052,119 @@ class ReservationTestCase(test.TestCase, ModelsObjectComparatorMixin):
self.ctxt, 'project1'))
+class SecurityGroupRuleTestCase(test.TestCase, ModelsObjectComparatorMixin):
+ def setUp(self):
+ super(SecurityGroupRuleTestCase, self).setUp()
+ self.ctxt = context.get_admin_context()
+
+ def _get_base_values(self):
+ return {
+ 'name': 'fake_sec_group',
+ 'description': 'fake_sec_group_descr',
+ 'user_id': 'fake',
+ 'project_id': 'fake',
+ 'instances': []
+ }
+
+ def _get_base_rule_values(self):
+ return {
+ 'protocol': "tcp",
+ 'from_port': 80,
+ 'to_port': 8080,
+ 'cidr': None,
+ 'deleted': 0,
+ 'deleted_at': None,
+ 'grantee_group': None,
+ 'updated_at': None
+ }
+
+ def _create_security_group(self, values):
+ v = self._get_base_values()
+ v.update(values)
+ return db.security_group_create(self.ctxt, v)
+
+ def _create_security_group_rule(self, values):
+ v = self._get_base_rule_values()
+ v.update(values)
+ return db.security_group_rule_create(self.ctxt, v)
+
+ def test_security_group_rule_create(self):
+ security_group_rule = self._create_security_group_rule({})
+ self.assertIsNotNone(security_group_rule['id'])
+ for key, value in self._get_base_rule_values().items():
+ self.assertEqual(value, security_group_rule[key])
+
+ def test_security_group_rule_get_by_security_group(self):
+ security_group = self._create_security_group({})
+ security_group_rule = self._create_security_group_rule(
+ {'parent_group': security_group})
+ security_group_rule1 = self._create_security_group_rule(
+ {'parent_group': security_group})
+ found_rules = db.security_group_rule_get_by_security_group(self.ctxt,
+ security_group['id'])
+ self.assertEqual(len(found_rules), 2)
+ rules_ids = [security_group_rule['id'], security_group_rule1['id']]
+ for rule in found_rules:
+ self.assertIn(rule['id'], rules_ids)
+
+ def test_security_group_rule_get_by_security_group_grantee(self):
+ security_group = self._create_security_group({})
+ security_group_rule = self._create_security_group_rule(
+ {'grantee_group': security_group})
+ rules = db.security_group_rule_get_by_security_group_grantee(self.ctxt,
+ security_group['id'])
+ self.assertEqual(len(rules), 1)
+ self.assertEqual(rules[0]['id'], security_group_rule['id'])
+
+ def test_security_group_rule_destroy(self):
+ security_group1 = self._create_security_group({})
+ security_group2 = self._create_security_group({})
+ security_group_rule1 = self._create_security_group_rule({})
+ security_group_rule2 = self._create_security_group_rule({})
+ db.security_group_rule_destroy(self.ctxt, security_group_rule1['id'])
+ self.assertRaises(exception.SecurityGroupNotFound,
+ db.security_group_rule_get,
+ self.ctxt, security_group_rule1['id'])
+ self._assertEqualObjects(db.security_group_rule_get(self.ctxt,
+ security_group_rule2['id']),
+ security_group_rule2, ['grantee_group'])
+
+ def test_security_group_rule_destroy_not_found_exception(self):
+ self.assertRaises(exception.SecurityGroupNotFound,
+ db.security_group_rule_destroy, self.ctxt, 100500)
+
+ def test_security_group_rule_get(self):
+ security_group_rule1 = (
+ self._create_security_group_rule({}))
+ security_group_rule2 = self._create_security_group_rule({})
+ real_security_group_rule = db.security_group_rule_get(self.ctxt,
+ security_group_rule1['id'])
+ self._assertEqualObjects(security_group_rule1,
+ real_security_group_rule, ['grantee_group'])
+
+ def test_security_group_rule_get_not_found_exception(self):
+ self.assertRaises(exception.SecurityGroupNotFound,
+ db.security_group_rule_get, self.ctxt, 100500)
+
+ def test_security_group_rule_count_by_group(self):
+ sg1 = self._create_security_group({})
+ sg2 = self._create_security_group({})
+ rules_by_group = {sg1: [], sg2: []}
+ for group in rules_by_group:
+ rules = rules_by_group[group]
+ for i in range(0, 10):
+ rules.append(
+ self._create_security_group_rule({'parent_group_id':
+ group['id']}))
+ db.security_group_rule_destroy(self.ctxt,
+ rules_by_group[sg1][0]['id'])
+ counted_groups = [db.security_group_rule_count_by_group(self.ctxt,
+ group['id'])
+ for group in [sg1, sg2]]
+ expected = [9, 10]
+ self.assertEqual(counted_groups, expected)
+
+
class SecurityGroupTestCase(test.TestCase, ModelsObjectComparatorMixin):
def setUp(self):
super(SecurityGroupTestCase, self).setUp()
@@ -1479,19 +1199,39 @@ class SecurityGroupTestCase(test.TestCase, ModelsObjectComparatorMixin):
self.assertRaises(exception.SecurityGroupNotFound,
db.security_group_get,
self.ctxt, security_group1['id'])
- self._assertEqualObjects(db.security_group_get(self.ctxt,
- security_group2['id']),
- security_group2)
+ self._assertEqualObjects(db.security_group_get(
+ self.ctxt, security_group2['id'],
+ columns_to_join=['instances']), security_group2)
def test_security_group_get(self):
security_group1 = self._create_security_group({})
- security_group2 = self._create_security_group(
- {'name': 'fake_sec_group2'})
+ self._create_security_group({'name': 'fake_sec_group2'})
real_security_group = db.security_group_get(self.ctxt,
- security_group1['id'])
+ security_group1['id'],
+ columns_to_join=['instances'])
self._assertEqualObjects(security_group1,
real_security_group)
+ def test_security_group_get_no_instances(self):
+ instance = db.instance_create(self.ctxt, {})
+ sid = self._create_security_group({'instances': [instance]})['id']
+
+ session = get_session()
+ self.mox.StubOutWithMock(sqlalchemy_api, 'get_session')
+ sqlalchemy_api.get_session().AndReturn(session)
+ sqlalchemy_api.get_session().AndReturn(session)
+ self.mox.ReplayAll()
+
+ security_group = db.security_group_get(self.ctxt, sid,
+ columns_to_join=['instances'])
+ session.expunge(security_group)
+ self.assertEqual(1, len(security_group['instances']))
+
+ security_group = db.security_group_get(self.ctxt, sid)
+ session.expunge(security_group)
+ self.assertRaises(sqlalchemy_orm_exc.DetachedInstanceError,
+ getattr, security_group, 'instances')
+
def test_security_group_get_not_found_exception(self):
self.assertRaises(exception.SecurityGroupNotFound,
db.security_group_get, self.ctxt, 100500)
@@ -1578,8 +1318,8 @@ class SecurityGroupTestCase(test.TestCase, ModelsObjectComparatorMixin):
{'name': 'fake2', 'project_id': 'fake_proj1'},
{'name': 'fake3', 'project_id': 'fake_proj2'},
]
- security_groups = [self._create_security_group(vals)
- for vals in values]
+ for vals in values:
+ self._create_security_group(vals)
real = []
for project in ('fake_proj1', 'fake_proj2'):
@@ -1612,13 +1352,503 @@ class SecurityGroupTestCase(test.TestCase, ModelsObjectComparatorMixin):
self.ctxt.project_id,
'default'))
- default_group = db.security_group_ensure_default(self.ctxt)
+ db.security_group_ensure_default(self.ctxt)
self.assertTrue(db.security_group_exists(self.ctxt,
self.ctxt.project_id,
'default'))
+class InstanceTestCase(DbTestCase):
+
+ """Tests for db.api.instance_* methods."""
+
+ def setUp(self):
+ super(InstanceTestCase, self).setUp()
+
+ def test_create_instance_unique_hostname(self):
+ otherprojectcontext = context.RequestContext(self.user_id,
+ "%s2" % self.project_id)
+
+ self.create_instance_with_args(hostname='fake_name')
+
+ # With scope 'global' any duplicate should fail, be it this project:
+ self.flags(osapi_compute_unique_server_name_scope='global')
+ self.assertRaises(exception.InstanceExists,
+ self.create_instance_with_args,
+ hostname='fake_name')
+
+ # or another:
+ self.assertRaises(exception.InstanceExists,
+ self.create_instance_with_args,
+ context=otherprojectcontext,
+ hostname='fake_name')
+
+ # With scope 'project' a duplicate in the project should fail:
+ self.flags(osapi_compute_unique_server_name_scope='project')
+ self.assertRaises(exception.InstanceExists,
+ self.create_instance_with_args,
+ hostname='fake_name')
+
+ # With scope 'project' a duplicate in a different project should work:
+ self.flags(osapi_compute_unique_server_name_scope='project')
+ self.create_instance_with_args(context=otherprojectcontext,
+ hostname='fake_name')
+
+ self.flags(osapi_compute_unique_server_name_scope=None)
+
+ def test_instance_get_all_with_meta(self):
+ inst = self.create_instance_with_args()
+ fake_meta, fake_sys = self.create_metadata_for_instance(inst['uuid'])
+ result = db.instance_get_all(self.context)
+ for inst in result:
+ meta = utils.metadata_to_dict(inst['metadata'])
+ self.assertEqual(meta, fake_meta)
+ sys_meta = utils.metadata_to_dict(inst['system_metadata'])
+ self.assertEqual(sys_meta, fake_sys)
+
+ def test_instance_get_all_by_filters_with_meta(self):
+ inst = self.create_instance_with_args()
+ fake_meta, fake_sys = self.create_metadata_for_instance(inst['uuid'])
+ result = db.instance_get_all_by_filters(self.context, {})
+ for inst in result:
+ meta = utils.metadata_to_dict(inst['metadata'])
+ self.assertEqual(meta, fake_meta)
+ sys_meta = utils.metadata_to_dict(inst['system_metadata'])
+ self.assertEqual(sys_meta, fake_sys)
+
+ def test_instance_get_all_by_filters_without_meta(self):
+ inst = self.create_instance_with_args()
+ fake_meta, fake_sys = self.create_metadata_for_instance(inst['uuid'])
+ result = db.instance_get_all_by_filters(self.context, {},
+ columns_to_join=[])
+ for inst in result:
+ meta = utils.metadata_to_dict(inst['metadata'])
+ self.assertEqual(meta, {})
+ sys_meta = utils.metadata_to_dict(inst['system_metadata'])
+ self.assertEqual(sys_meta, {})
+
+ def test_instance_get_all_by_filters(self):
+ self.create_instance_with_args()
+ self.create_instance_with_args()
+ result = db.instance_get_all_by_filters(self.context, {})
+ self.assertEqual(2, len(result))
+
+ def test_instance_get_all_by_filters_regex(self):
+ self.create_instance_with_args(display_name='test1')
+ self.create_instance_with_args(display_name='teeeest2')
+ self.create_instance_with_args(display_name='diff')
+ result = db.instance_get_all_by_filters(self.context,
+ {'display_name': 't.*st.'})
+ self.assertEqual(2, len(result))
+
+ def test_instance_get_all_by_filters_exact_match(self):
+ self.create_instance_with_args(host='host1')
+ self.create_instance_with_args(host='host12')
+ result = db.instance_get_all_by_filters(self.context,
+ {'host': 'host1'})
+ self.assertEqual(1, len(result))
+
+ def test_instance_get_all_by_filters_metadata(self):
+ self.create_instance_with_args(metadata={'foo': 'bar'})
+ self.create_instance_with_args()
+ result = db.instance_get_all_by_filters(self.context,
+ {'metadata': {'foo': 'bar'}})
+ self.assertEqual(1, len(result))
+
+ def test_instance_get_all_by_filters_unicode_value(self):
+ self.create_instance_with_args(display_name=u'test♥')
+ result = db.instance_get_all_by_filters(self.context,
+ {'display_name': u'test'})
+ self.assertEqual(1, len(result))
+
+ def test_instance_get_by_uuid(self):
+ inst = self.create_instance_with_args()
+ fake_meta, fake_sys = self.create_metadata_for_instance(inst['uuid'])
+ result = db.instance_get_by_uuid(self.context, inst['uuid'])
+ meta = utils.metadata_to_dict(result['metadata'])
+ self.assertEqual(meta, fake_meta)
+ sys_meta = utils.metadata_to_dict(result['system_metadata'])
+ self.assertEqual(sys_meta, fake_sys)
+
+ def test_instance_get_by_uuid_join_empty(self):
+ inst = self.create_instance_with_args()
+ fake_meta, fake_sys = self.create_metadata_for_instance(inst['uuid'])
+ result = db.instance_get_by_uuid(self.context, inst['uuid'],
+ columns_to_join=[])
+ meta = utils.metadata_to_dict(result['metadata'])
+ self.assertEqual(meta, {})
+ sys_meta = utils.metadata_to_dict(result['system_metadata'])
+ self.assertEqual(sys_meta, {})
+
+ def test_instance_get_by_uuid_join_meta(self):
+ inst = self.create_instance_with_args()
+ fake_meta, fake_sys = self.create_metadata_for_instance(inst['uuid'])
+ result = db.instance_get_by_uuid(self.context, inst['uuid'],
+ columns_to_join=['metadata'])
+ meta = utils.metadata_to_dict(result['metadata'])
+ self.assertEqual(meta, fake_meta)
+ sys_meta = utils.metadata_to_dict(result['system_metadata'])
+ self.assertEqual(sys_meta, {})
+
+ def test_instance_get_by_uuid_join_sys_meta(self):
+ inst = self.create_instance_with_args()
+ fake_meta, fake_sys = self.create_metadata_for_instance(inst['uuid'])
+ result = db.instance_get_by_uuid(self.context, inst['uuid'],
+ columns_to_join=['system_metadata'])
+ meta = utils.metadata_to_dict(result['metadata'])
+ self.assertEqual(meta, {})
+ sys_meta = utils.metadata_to_dict(result['system_metadata'])
+ self.assertEqual(sys_meta, fake_sys)
+
+ def test_instance_get_all_by_filters_deleted(self):
+ inst1 = self.create_instance_with_args()
+ inst2 = self.create_instance_with_args(reservation_id='b')
+ db.instance_destroy(self.context, inst1['uuid'])
+ result = db.instance_get_all_by_filters(self.context, {})
+ self.assertEqual(2, len(result))
+ self.assertIn(inst1['id'], [result[0]['id'], result[1]['id']])
+ self.assertIn(inst2['id'], [result[0]['id'], result[1]['id']])
+ if inst1['id'] == result[0]['id']:
+ self.assertTrue(result[0]['deleted'])
+ else:
+ self.assertTrue(result[1]['deleted'])
+
+ def test_instance_get_all_by_filters_deleted_and_soft_deleted(self):
+ inst1 = self.create_instance_with_args()
+ inst2 = self.create_instance_with_args(vm_state=vm_states.SOFT_DELETED)
+ inst3 = self.create_instance_with_args()
+ db.instance_destroy(self.context, inst1['uuid'])
+ result = db.instance_get_all_by_filters(self.context,
+ {'deleted': True})
+ self.assertEqual(2, len(result))
+ self.assertIn(inst1['id'], [result[0]['id'], result[1]['id']])
+ self.assertIn(inst2['id'], [result[0]['id'], result[1]['id']])
+
+ def test_instance_get_all_by_filters_deleted_no_soft_deleted(self):
+ inst1 = self.create_instance_with_args()
+ inst2 = self.create_instance_with_args(vm_state=vm_states.SOFT_DELETED)
+ inst3 = self.create_instance_with_args()
+ db.instance_destroy(self.context, inst1['uuid'])
+ result = db.instance_get_all_by_filters(self.context,
+ {'deleted': True,
+ 'soft_deleted': False})
+ self.assertEqual(1, len(result))
+ self.assertEqual(inst1['id'], result[0]['id'])
+
+ def test_instance_get_all_by_filters_alive_and_soft_deleted(self):
+ inst1 = self.create_instance_with_args()
+ inst2 = self.create_instance_with_args(vm_state=vm_states.SOFT_DELETED)
+ inst3 = self.create_instance_with_args()
+ db.instance_destroy(self.context, inst1['uuid'])
+ result = db.instance_get_all_by_filters(self.context,
+ {'deleted': False,
+ 'soft_deleted': True})
+ self.assertEqual(2, len(result))
+ self.assertIn(inst2['id'], [result[0]['id'], result[1]['id']])
+ self.assertIn(inst3['id'], [result[0]['id'], result[1]['id']])
+
+ def test_instance_get_all_by_host_and_node_no_join(self):
+ # Test that system metadata is not joined.
+ sys_meta = {'foo': 'bar'}
+ expected = self.create_instance_with_args(system_metadata=sys_meta)
+
+ elevated = self.context.elevated()
+ instances = db.instance_get_all_by_host_and_node(elevated, 'host1',
+ 'node1')
+ self.assertEqual(1, len(instances))
+ instance = instances[0]
+ self.assertEqual(expected['uuid'], instance['uuid'])
+ sysmeta = dict(instance)['system_metadata']
+ self.assertEqual(len(sysmeta), 0)
+
+ def test_instance_get_all_hung_in_rebooting(self):
+ ctxt = context.get_admin_context()
+
+ # Ensure no instances are returned.
+ results = db.instance_get_all_hung_in_rebooting(ctxt, 10)
+ self.assertEqual(0, len(results))
+
+ # Ensure one rebooting instance with updated_at older than 10 seconds
+ # is returned.
+ updated_at = datetime.datetime(2000, 1, 1, 12, 0, 0)
+ values = {"task_state": "rebooting", "updated_at": updated_at}
+ instance = db.instance_create(ctxt, values)
+ results = db.instance_get_all_hung_in_rebooting(ctxt, 10)
+ self.assertEqual(1, len(results))
+ db.instance_update(ctxt, instance['uuid'], {"task_state": None})
+
+ # Ensure the newly rebooted instance is not returned.
+ updated_at = timeutils.utcnow()
+ values = {"task_state": "rebooting", "updated_at": updated_at}
+ instance = db.instance_create(ctxt, values)
+ results = db.instance_get_all_hung_in_rebooting(ctxt, 10)
+ self.assertEqual(0, len(results))
+ db.instance_update(ctxt, instance['uuid'], {"task_state": None})
+
+ def test_instance_update_with_expected_vm_state(self):
+ ctxt = context.get_admin_context()
+ uuid = uuidutils.generate_uuid()
+ updates = {'expected_vm_state': 'meow',
+ 'moo': 'cow'}
+
+ class FakeInstance(dict):
+ def save(self, session=None):
+ pass
+
+ fake_instance_values = {'vm_state': 'meow',
+ 'hostname': '',
+ 'metadata': None,
+ 'system_metadata': None}
+ fake_instance = FakeInstance(fake_instance_values)
+
+ self.mox.StubOutWithMock(sqlalchemy_api, '_instance_get_by_uuid')
+ self.mox.StubOutWithMock(fake_instance, 'save')
+
+ sqlalchemy_api._instance_get_by_uuid(ctxt, uuid,
+ session=mox.IgnoreArg()).AndReturn(fake_instance)
+ fake_instance.save(session=mox.IgnoreArg())
+
+ self.mox.ReplayAll()
+
+ result = db.instance_update(ctxt, uuid, updates)
+ expected_instance = dict(fake_instance_values)
+ expected_instance['moo'] = 'cow'
+ self.assertEqual(expected_instance, result)
+
+ def test_instance_update_with_unexpected_vm_state(self):
+ ctxt = context.get_admin_context()
+ uuid = uuidutils.generate_uuid()
+ updates = {'expected_vm_state': 'meow'}
+ fake_instance = {'vm_state': 'nomatch'}
+
+ self.mox.StubOutWithMock(sqlalchemy_api, '_instance_get_by_uuid')
+
+ sqlalchemy_api._instance_get_by_uuid(ctxt, uuid,
+ session=mox.IgnoreArg()).AndReturn(fake_instance)
+
+ self.mox.ReplayAll()
+
+ self.assertRaises(exception.UnexpectedVMStateError,
+ db.instance_update, ctxt, uuid, updates)
+
+ def test_instance_update_with_instance_uuid(self):
+ # test instance_update() works when an instance UUID is passed.
+ ctxt = context.get_admin_context()
+
+ # Create an instance with some metadata
+ values = {'metadata': {'host': 'foo', 'key1': 'meow'},
+ 'system_metadata': {'original_image_ref': 'blah'}}
+ instance = db.instance_create(ctxt, values)
+
+ # Update the metadata
+ values = {'metadata': {'host': 'bar', 'key2': 'wuff'},
+ 'system_metadata': {'original_image_ref': 'baz'}}
+ db.instance_update(ctxt, instance['uuid'], values)
+
+ # Retrieve the user-provided metadata to ensure it was successfully
+ # updated
+ instance_meta = db.instance_metadata_get(ctxt, instance['uuid'])
+ self.assertEqual('bar', instance_meta['host'])
+ self.assertEqual('wuff', instance_meta['key2'])
+ self.assertNotIn('key1', instance_meta)
+
+ # Retrieve the system metadata to ensure it was successfully updated
+ system_meta = db.instance_system_metadata_get(ctxt, instance['uuid'])
+ self.assertEqual('baz', system_meta['original_image_ref'])
+
+ def test_delete_instance_metadata_on_instance_destroy(self):
+ ctxt = context.get_admin_context()
+
+ # Create an instance with some metadata
+ values = {'metadata': {'host': 'foo', 'key1': 'meow'},
+ 'system_metadata': {'original_image_ref': 'blah'}}
+ instance = db.instance_create(ctxt, values)
+ instance_meta = db.instance_metadata_get(ctxt, instance['uuid'])
+ self.assertEqual('foo', instance_meta['host'])
+ self.assertEqual('meow', instance_meta['key1'])
+ db.instance_destroy(ctxt, instance['uuid'])
+ instance_meta = db.instance_metadata_get(ctxt, instance['uuid'])
+ # Make sure instance metadata is deleted as well
+ self.assertEqual({}, instance_meta)
+
+ def test_instance_update_unique_name(self):
+ otherprojectcontext = context.RequestContext(self.user_id,
+ "%s2" % self.project_id)
+
+ inst = self.create_instance_with_args(hostname='fake_name')
+ uuid1p1 = inst['uuid']
+ inst = self.create_instance_with_args(hostname='fake_name2')
+ uuid2p1 = inst['uuid']
+
+ inst = self.create_instance_with_args(context=otherprojectcontext,
+ hostname='fake_name3')
+ uuid1p2 = inst['uuid']
+
+ # osapi_compute_unique_server_name_scope is unset so this should work:
+ values = {'hostname': 'fake_name2'}
+ db.instance_update(self.context, uuid1p1, values)
+ values = {'hostname': 'fake_name'}
+ db.instance_update(self.context, uuid1p1, values)
+
+ # With scope 'global' any duplicate should fail.
+ self.flags(osapi_compute_unique_server_name_scope='global')
+ self.assertRaises(exception.InstanceExists,
+ db.instance_update,
+ self.context,
+ uuid2p1,
+ values)
+
+ self.assertRaises(exception.InstanceExists,
+ db.instance_update,
+ otherprojectcontext,
+ uuid1p2,
+ values)
+
+ # But we should definitely be able to update our name if we aren't
+ # really changing it.
+ case_only_values = {'hostname': 'fake_NAME'}
+ db.instance_update(self.context, uuid1p1, case_only_values)
+
+ # With scope 'project' a duplicate in the project should fail:
+ self.flags(osapi_compute_unique_server_name_scope='project')
+ self.assertRaises(exception.InstanceExists,
+ db.instance_update,
+ self.context,
+ uuid2p1,
+ values)
+
+ # With scope 'project' a duplicate in a different project should work:
+ self.flags(osapi_compute_unique_server_name_scope='project')
+ db.instance_update(otherprojectcontext, uuid1p2, values)
+
+ def test_instance_update_with_and_get_original(self):
+ ctxt = context.get_admin_context()
+
+ # Create an instance with some metadata
+ values = {'vm_state': 'building'}
+ instance = db.instance_create(ctxt, values)
+
+ (old_ref, new_ref) = db.instance_update_and_get_original(ctxt,
+ instance['uuid'], {'vm_state': 'needscoffee'})
+ self.assertEquals("building", old_ref["vm_state"])
+ self.assertEquals("needscoffee", new_ref["vm_state"])
+
+ def _test_instance_update_updates_metadata(self, metadata_type):
+ ctxt = context.get_admin_context()
+
+ instance = db.instance_create(ctxt, {})
+
+ def set_and_check(meta):
+ inst = db.instance_update(ctxt, instance['uuid'],
+ {metadata_type: dict(meta)})
+ _meta = utils.metadata_to_dict(inst[metadata_type])
+ self.assertEqual(meta, _meta)
+
+ meta = {'speed': '88', 'units': 'MPH'}
+ set_and_check(meta)
+
+ meta['gigawatts'] = '1.21'
+ set_and_check(meta)
+
+ del meta['gigawatts']
+ set_and_check(meta)
+
+ def test_instance_update_updates_system_metadata(self):
+ # Ensure that system_metadata is updated during instance_update
+ self._test_instance_update_updates_metadata('system_metadata')
+
+ def test_instance_update_updates_metadata(self):
+ # Ensure that metadata is updated during instance_update
+ self._test_instance_update_updates_metadata('metadata')
+
+ def test_instance_floating_address_get_all(self):
+ ctxt = context.get_admin_context()
+
+ instance1 = db.instance_create(ctxt, {'host': 'h1', 'hostname': 'n1'})
+ instance2 = db.instance_create(ctxt, {'host': 'h2', 'hostname': 'n2'})
+
+ fixed_addresses = ['1.1.1.1', '1.1.1.2', '1.1.1.3']
+ float_addresses = ['2.1.1.1', '2.1.1.2', '2.1.1.3']
+ instance_uuids = [instance1['uuid'], instance1['uuid'],
+ instance2['uuid']]
+
+ for fixed_addr, float_addr, instance_uuid in zip(fixed_addresses,
+ float_addresses,
+ instance_uuids):
+ db.fixed_ip_create(ctxt, {'address': fixed_addr,
+ 'instance_uuid': instance_uuid})
+ fixed_id = db.fixed_ip_get_by_address(ctxt, fixed_addr)['id']
+ db.floating_ip_create(ctxt,
+ {'address': float_addr,
+ 'fixed_ip_id': fixed_id})
+
+ real_float_addresses = \
+ db.instance_floating_address_get_all(ctxt, instance_uuids[0])
+ self.assertEqual(set(float_addresses[:2]), set(real_float_addresses))
+ real_float_addresses = \
+ db.instance_floating_address_get_all(ctxt, instance_uuids[2])
+ self.assertEqual(set([float_addresses[2]]), set(real_float_addresses))
+
+
+class InstanceMetadataTestCase(test.TestCase):
+
+ """Tests for db.api.instance_metadata_* methods."""
+
+ def setUp(self):
+ super(InstanceMetadataTestCase, self).setUp()
+ self.ctxt = context.get_admin_context()
+
+ def test_instance_metadata_get(self):
+ instance = db.instance_create(self.ctxt, {'metadata':
+ {'key': 'value'}})
+ self.assertEqual({'key': 'value'}, db.instance_metadata_get(
+ self.ctxt, instance['uuid']))
+
+ def test_instance_metadata_get_all(self):
+ instances = []
+ expected = []
+ for i in range(2):
+ instances.append(db.instance_create(self.ctxt,
+ {'metadata': {'key%d' % i: 'value%d' % i}}))
+ expected.append({'instance_id': instances[i]['uuid'],
+ 'key': 'key%d' % i, 'value': 'value%d' % i})
+ self.assertEqual(expected, db.instance_metadata_get_all(self.ctxt, []))
+ self.assertEqual(expected[:1], db.instance_metadata_get_all(self.ctxt,
+ [{'key': 'key0'}]))
+ self.assertEqual(expected[1:2], db.instance_metadata_get_all(self.ctxt,
+ [{'value': 'value1'}]))
+ self.assertEqual(expected[:2], db.instance_metadata_get_all(self.ctxt,
+ [{'value': 'value1'},
+ {'key': 'key0'}]))
+
+ def test_instance_metadata_delete(self):
+ instance = db.instance_create(self.ctxt,
+ {'metadata': {'key': 'val',
+ 'key1': 'val1'}})
+ db.instance_metadata_delete(self.ctxt, instance['uuid'], 'key1')
+ self.assertEqual({'key': 'val'}, db.instance_metadata_get(
+ self.ctxt, instance['uuid']))
+
+ def test_instance_metadata_update(self):
+ instance = db.instance_create(self.ctxt, {'host': 'h1',
+ 'project_id': 'p1', 'metadata': {'key': 'value'}})
+
+ # This should add new key/value pair
+ metadata = db.instance_metadata_update(
+ self.ctxt, instance['uuid'],
+ {'new_key': 'new_value'}, False)
+ metadata = db.instance_metadata_get(self.ctxt, instance['uuid'])
+ self.assertEqual(metadata, {'key': 'value', 'new_key': 'new_value'})
+
+ # This should leave only one key/value pair
+ metadata = db.instance_metadata_update(
+ self.ctxt, instance['uuid'],
+ {'new_key': 'new_value'}, True)
+ metadata = db.instance_metadata_get(self.ctxt, instance['uuid'])
+ self.assertEqual(metadata, {'new_key': 'new_value'})
+
+
class ServiceTestCase(test.TestCase, ModelsObjectComparatorMixin):
def setUp(self):
super(ServiceTestCase, self).setUp()
@@ -1674,7 +1904,7 @@ class ServiceTestCase(test.TestCase, ModelsObjectComparatorMixin):
def test_service_get(self):
service1 = self._create_service({})
- service2 = self._create_service({'host': 'some_other_fake_host'})
+ self._create_service({'host': 'some_other_fake_host'})
real_service1 = db.service_get(self.ctxt, service1['id'])
self._assertEqualObjects(service1, real_service1,
ignored_keys=['compute_node'])
@@ -1699,7 +1929,7 @@ class ServiceTestCase(test.TestCase, ModelsObjectComparatorMixin):
def test_service_get_by_host_and_topic(self):
service1 = self._create_service({'host': 'host1', 'topic': 'topic1'})
- service2 = self._create_service({'host': 'host2', 'topic': 'topic2'})
+ self._create_service({'host': 'host2', 'topic': 'topic2'})
real_service1 = db.service_get_by_host_and_topic(self.ctxt,
host='host1',
@@ -1816,292 +2046,264 @@ class BaseInstanceTypeTestCase(test.TestCase, ModelsObjectComparatorMixin):
class InstanceActionTestCase(test.TestCase, ModelsObjectComparatorMixin):
+ IGNORED_FIELDS = [
+ 'id',
+ 'created_at',
+ 'updated_at',
+ 'deleted_at',
+ 'deleted'
+ ]
+
+ def setUp(self):
+ super(InstanceActionTestCase, self).setUp()
+ self.ctxt = context.get_admin_context()
+
+ def _create_action_values(self, uuid, action='run_instance', ctxt=None):
+ if ctxt is None:
+ ctxt = self.ctxt
+ return {
+ 'action': action,
+ 'instance_uuid': uuid,
+ 'request_id': ctxt.request_id,
+ 'user_id': ctxt.user_id,
+ 'project_id': ctxt.project_id,
+ 'start_time': timeutils.utcnow(),
+ 'message': 'action-message'
+ }
+
+ def _create_event_values(self, uuid, event='schedule',
+ ctxt=None, extra=None):
+ if ctxt is None:
+ ctxt = self.ctxt
+ values = {
+ 'event': event,
+ 'instance_uuid': uuid,
+ 'request_id': ctxt.request_id,
+ 'start_time': timeutils.utcnow()
+ }
+ if extra is not None:
+ values.update(extra)
+ return values
+
+ def _assertActionSaved(self, action, uuid):
+ """Retrieve the action to ensure it was successfully added."""
+ actions = db.actions_get(self.ctxt, uuid)
+ self.assertEqual(1, len(actions))
+ self._assertEqualObjects(action, actions[0])
+
+ def _assertActionEventSaved(self, event, action_id):
+ # Retrieve the event to ensure it was successfully added
+ events = db.action_events_get(self.ctxt, action_id)
+ self.assertEqual(1, len(events))
+ self._assertEqualObjects(event, events[0],
+ ['instance_uuid', 'request_id'])
+
def test_instance_action_start(self):
"""Create an instance action."""
- ctxt = context.get_admin_context()
uuid = str(stdlib_uuid.uuid4())
- start_time = timeutils.utcnow()
- action_values = {'action': 'run_instance',
- 'instance_uuid': uuid,
- 'request_id': ctxt.request_id,
- 'user_id': ctxt.user_id,
- 'project_id': ctxt.project_id,
- 'start_time': start_time}
- db.action_start(ctxt, action_values)
+ action_values = self._create_action_values(uuid)
+ action = db.action_start(self.ctxt, action_values)
- # Retrieve the action to ensure it was successfully added
- actions = db.actions_get(ctxt, uuid)
- self.assertEqual(1, len(actions))
- self.assertEqual('run_instance', actions[0]['action'])
- self.assertEqual(start_time, actions[0]['start_time'])
- self.assertEqual(ctxt.request_id, actions[0]['request_id'])
- self.assertEqual(ctxt.user_id, actions[0]['user_id'])
- self.assertEqual(ctxt.project_id, actions[0]['project_id'])
+ ignored_keys = self.IGNORED_FIELDS + ['finish_time']
+ self._assertEqualObjects(action_values, action, ignored_keys)
+
+ self._assertActionSaved(action, uuid)
def test_instance_action_finish(self):
"""Create an instance action."""
- ctxt = context.get_admin_context()
uuid = str(stdlib_uuid.uuid4())
- start_time = timeutils.utcnow()
- action_start_values = {'action': 'run_instance',
- 'instance_uuid': uuid,
- 'request_id': ctxt.request_id,
- 'user_id': ctxt.user_id,
- 'project_id': ctxt.project_id,
- 'start_time': start_time}
- db.action_start(ctxt, action_start_values)
-
- finish_time = timeutils.utcnow() + datetime.timedelta(seconds=5)
- action_finish_values = {'instance_uuid': uuid,
- 'request_id': ctxt.request_id,
- 'finish_time': finish_time}
- db.action_finish(ctxt, action_finish_values)
+ action_values = self._create_action_values(uuid)
+ db.action_start(self.ctxt, action_values)
- # Retrieve the action to ensure it was successfully added
- actions = db.actions_get(ctxt, uuid)
- self.assertEqual(1, len(actions))
- self.assertEqual('run_instance', actions[0]['action'])
- self.assertEqual(start_time, actions[0]['start_time'])
- self.assertEqual(finish_time, actions[0]['finish_time'])
- self.assertEqual(ctxt.request_id, actions[0]['request_id'])
- self.assertEqual(ctxt.user_id, actions[0]['user_id'])
- self.assertEqual(ctxt.project_id, actions[0]['project_id'])
+ action_values['finish_time'] = timeutils.utcnow()
+ action = db.action_finish(self.ctxt, action_values)
+ self._assertEqualObjects(action_values, action, self.IGNORED_FIELDS)
+
+ self._assertActionSaved(action, uuid)
+
+ def test_instance_action_finish_without_started_event(self):
+ """Create an instance finish action."""
+ uuid = str(stdlib_uuid.uuid4())
+
+ action_values = self._create_action_values(uuid)
+ action_values['finish_time'] = timeutils.utcnow()
+ self.assertRaises(exception.InstanceActionNotFound, db.action_finish,
+ self.ctxt, action_values)
def test_instance_actions_get_by_instance(self):
"""Ensure we can get actions by UUID."""
- ctxt1 = context.get_admin_context()
- ctxt2 = context.get_admin_context()
uuid1 = str(stdlib_uuid.uuid4())
- uuid2 = str(stdlib_uuid.uuid4())
- action_values = {'action': 'run_instance',
- 'instance_uuid': uuid1,
- 'request_id': ctxt1.request_id,
- 'user_id': ctxt1.user_id,
- 'project_id': ctxt1.project_id,
- 'start_time': timeutils.utcnow()}
- db.action_start(ctxt1, action_values)
+ expected = []
+
+ action_values = self._create_action_values(uuid1)
+ action = db.action_start(self.ctxt, action_values)
+ expected.append(action)
+
action_values['action'] = 'resize'
- db.action_start(ctxt1, action_values)
-
- action_values = {'action': 'reboot',
- 'instance_uuid': uuid2,
- 'request_id': ctxt2.request_id,
- 'user_id': ctxt2.user_id,
- 'project_id': ctxt2.project_id,
- 'start_time': timeutils.utcnow()}
+ action = db.action_start(self.ctxt, action_values)
+ expected.append(action)
+
+ # Create some extra actions
+ uuid2 = str(stdlib_uuid.uuid4())
+ ctxt2 = context.get_admin_context()
+ action_values = self._create_action_values(uuid2, 'reboot', ctxt2)
db.action_start(ctxt2, action_values)
db.action_start(ctxt2, action_values)
# Retrieve the action to ensure it was successfully added
- actions = db.actions_get(ctxt1, uuid1)
- self.assertEqual(2, len(actions))
- self.assertEqual('resize', actions[0]['action'])
- self.assertEqual('run_instance', actions[1]['action'])
+ actions = db.actions_get(self.ctxt, uuid1)
+ self._assertEqualListsOfObjects(expected, actions)
def test_instance_action_get_by_instance_and_action(self):
"""Ensure we can get an action by instance UUID and action id."""
- ctxt1 = context.get_admin_context()
ctxt2 = context.get_admin_context()
uuid1 = str(stdlib_uuid.uuid4())
uuid2 = str(stdlib_uuid.uuid4())
- action_values = {'action': 'run_instance',
- 'instance_uuid': uuid1,
- 'request_id': ctxt1.request_id,
- 'user_id': ctxt1.user_id,
- 'project_id': ctxt1.project_id,
- 'start_time': timeutils.utcnow()}
- db.action_start(ctxt1, action_values)
+ action_values = self._create_action_values(uuid1)
+ db.action_start(self.ctxt, action_values)
action_values['action'] = 'resize'
- db.action_start(ctxt1, action_values)
-
- action_values = {'action': 'reboot',
- 'instance_uuid': uuid2,
- 'request_id': ctxt2.request_id,
- 'user_id': ctxt2.user_id,
- 'project_id': ctxt2.project_id,
- 'start_time': timeutils.utcnow()}
+ db.action_start(self.ctxt, action_values)
+
+ action_values = self._create_action_values(uuid2, 'reboot', ctxt2)
db.action_start(ctxt2, action_values)
db.action_start(ctxt2, action_values)
- actions = db.actions_get(ctxt1, uuid1)
+ actions = db.actions_get(self.ctxt, uuid1)
request_id = actions[0]['request_id']
- action = db.action_get_by_request_id(ctxt1, uuid1, request_id)
+ action = db.action_get_by_request_id(self.ctxt, uuid1, request_id)
self.assertEqual('run_instance', action['action'])
- self.assertEqual(ctxt1.request_id, action['request_id'])
+ self.assertEqual(self.ctxt.request_id, action['request_id'])
def test_instance_action_event_start(self):
"""Create an instance action event."""
- ctxt = context.get_admin_context()
uuid = str(stdlib_uuid.uuid4())
- start_time = timeutils.utcnow()
- action_values = {'action': 'run_instance',
- 'instance_uuid': uuid,
- 'request_id': ctxt.request_id,
- 'user_id': ctxt.user_id,
- 'project_id': ctxt.project_id,
- 'start_time': start_time}
- action = db.action_start(ctxt, action_values)
-
- event_values = {'event': 'schedule',
- 'instance_uuid': uuid,
- 'request_id': ctxt.request_id,
- 'start_time': start_time}
- db.action_event_start(ctxt, event_values)
+ action_values = self._create_action_values(uuid)
+ action = db.action_start(self.ctxt, action_values)
- # Retrieve the event to ensure it was successfully added
- events = db.action_events_get(ctxt, action['id'])
- self.assertEqual(1, len(events))
- self.assertEqual('schedule', events[0]['event'])
- self.assertEqual(start_time, events[0]['start_time'])
+ event_values = self._create_event_values(uuid)
+ event = db.action_event_start(self.ctxt, event_values)
+ # self.fail(self._dict_from_object(event, None))
+ event_values['action_id'] = action['id']
+ ignored = self.IGNORED_FIELDS + ['finish_time', 'traceback', 'result']
+ self._assertEqualObjects(event_values, event, ignored)
+
+ self._assertActionEventSaved(event, action['id'])
+
+ def test_instance_action_event_start_without_action(self):
+ """Create an instance action event."""
+ uuid = str(stdlib_uuid.uuid4())
+
+ event_values = self._create_event_values(uuid)
+ self.assertRaises(exception.InstanceActionNotFound,
+ db.action_event_start, self.ctxt, event_values)
+
+ def test_instance_action_event_finish_without_started_event(self):
+ """Finish an instance action event."""
+ uuid = str(stdlib_uuid.uuid4())
+
+ db.action_start(self.ctxt, self._create_action_values(uuid))
+
+ event_values = {
+ 'finish_time': timeutils.utcnow() + datetime.timedelta(seconds=5),
+ 'result': 'Success'
+ }
+ event_values = self._create_event_values(uuid, extra=event_values)
+ self.assertRaises(exception.InstanceActionEventNotFound,
+ db.action_event_finish, self.ctxt, event_values)
+
+ def test_instance_action_event_finish_without_action(self):
+ """Finish an instance action event."""
+ uuid = str(stdlib_uuid.uuid4())
+
+ event_values = {
+ 'finish_time': timeutils.utcnow() + datetime.timedelta(seconds=5),
+ 'result': 'Success'
+ }
+ event_values = self._create_event_values(uuid, extra=event_values)
+ self.assertRaises(exception.InstanceActionNotFound,
+ db.action_event_finish, self.ctxt, event_values)
def test_instance_action_event_finish_success(self):
"""Finish an instance action event."""
- ctxt = context.get_admin_context()
uuid = str(stdlib_uuid.uuid4())
- start_time = timeutils.utcnow()
- action_values = {'action': 'run_instance',
- 'instance_uuid': uuid,
- 'request_id': ctxt.request_id,
- 'user_id': ctxt.user_id,
- 'project_id': ctxt.project_id,
- 'start_time': start_time}
- action = db.action_start(ctxt, action_values)
-
- event_values = {'event': 'schedule',
- 'request_id': ctxt.request_id,
- 'instance_uuid': uuid,
- 'start_time': start_time}
- db.action_event_start(ctxt, event_values)
-
- finish_time = timeutils.utcnow() + datetime.timedelta(seconds=5)
- event_finish_values = {'event': 'schedule',
- 'request_id': ctxt.request_id,
- 'instance_uuid': uuid,
- 'finish_time': finish_time,
- 'result': 'Success'}
- db.action_event_finish(ctxt, event_finish_values)
+ action = db.action_start(self.ctxt, self._create_action_values(uuid))
- # Retrieve the event to ensure it was successfully added
- events = db.action_events_get(ctxt, action['id'])
- action = db.action_get_by_request_id(ctxt, uuid, ctxt.request_id)
- self.assertEqual(1, len(events))
- self.assertEqual('schedule', events[0]['event'])
- self.assertEqual(start_time, events[0]['start_time'])
- self.assertEqual(finish_time, events[0]['finish_time'])
- self.assertNotEqual(action['message'], 'Error')
+ db.action_event_start(self.ctxt, self._create_event_values(uuid))
+
+ event_values = {
+ 'finish_time': timeutils.utcnow() + datetime.timedelta(seconds=5),
+ 'result': 'Success'
+ }
+ event_values = self._create_event_values(uuid, extra=event_values)
+ event = db.action_event_finish(self.ctxt, event_values)
+
+ self._assertActionEventSaved(event, action['id'])
+ action = db.action_get_by_request_id(self.ctxt, uuid,
+ self.ctxt.request_id)
+ self.assertNotEqual('Error', action['message'])
def test_instance_action_event_finish_error(self):
"""Finish an instance action event with an error."""
- ctxt = context.get_admin_context()
uuid = str(stdlib_uuid.uuid4())
- start_time = timeutils.utcnow()
- action_values = {'action': 'run_instance',
- 'instance_uuid': uuid,
- 'request_id': ctxt.request_id,
- 'user_id': ctxt.user_id,
- 'project_id': ctxt.project_id,
- 'start_time': start_time}
- action = db.action_start(ctxt, action_values)
-
- event_values = {'event': 'schedule',
- 'request_id': ctxt.request_id,
- 'instance_uuid': uuid,
- 'start_time': start_time}
- db.action_event_start(ctxt, event_values)
-
- finish_time = timeutils.utcnow() + datetime.timedelta(seconds=5)
- event_finish_values = {'event': 'schedule',
- 'request_id': ctxt.request_id,
- 'instance_uuid': uuid,
- 'finish_time': finish_time,
- 'result': 'Error'}
- db.action_event_finish(ctxt, event_finish_values)
+ action = db.action_start(self.ctxt, self._create_action_values(uuid))
- # Retrieve the event to ensure it was successfully added
- events = db.action_events_get(ctxt, action['id'])
- action = db.action_get_by_request_id(ctxt, uuid, ctxt.request_id)
- self.assertEqual(1, len(events))
- self.assertEqual('schedule', events[0]['event'])
- self.assertEqual(start_time, events[0]['start_time'])
- self.assertEqual(finish_time, events[0]['finish_time'])
- self.assertEqual(action['message'], 'Error')
+ db.action_event_start(self.ctxt, self._create_event_values(uuid))
+
+ event_values = {
+ 'finish_time': timeutils.utcnow() + datetime.timedelta(seconds=5),
+ 'result': 'Error'
+ }
+ event_values = self._create_event_values(uuid, extra=event_values)
+ event = db.action_event_finish(self.ctxt, event_values)
+
+ self._assertActionEventSaved(event, action['id'])
+ action = db.action_get_by_request_id(self.ctxt, uuid,
+ self.ctxt.request_id)
+ self.assertEqual('Error', action['message'])
def test_instance_action_and_event_start_string_time(self):
"""Create an instance action and event with a string start_time."""
- ctxt = context.get_admin_context()
uuid = str(stdlib_uuid.uuid4())
- start_time = timeutils.utcnow()
- start_time_str = timeutils.strtime(start_time)
- action_values = {'action': 'run_instance',
- 'instance_uuid': uuid,
- 'request_id': ctxt.request_id,
- 'user_id': ctxt.user_id,
- 'project_id': ctxt.project_id,
- 'start_time': start_time_str}
- action = db.action_start(ctxt, action_values)
-
- event_values = {'event': 'schedule',
- 'instance_uuid': uuid,
- 'request_id': ctxt.request_id,
- 'start_time': start_time_str}
- db.action_event_start(ctxt, event_values)
+ action = db.action_start(self.ctxt, self._create_action_values(uuid))
- # Retrieve the event to ensure it was successfully added
- events = db.action_events_get(ctxt, action['id'])
- self.assertEqual(1, len(events))
- self.assertEqual('schedule', events[0]['event'])
- # db api still returns models with datetime, not str, values
- self.assertEqual(start_time, events[0]['start_time'])
+ event_values = {'start_time': timeutils.strtime(timeutils.utcnow())}
+ event_values = self._create_event_values(uuid, extra=event_values)
+ event = db.action_event_start(self.ctxt, event_values)
+
+ self._assertActionEventSaved(event, action['id'])
def test_instance_action_event_get_by_id(self):
"""Get a specific instance action event."""
- ctxt1 = context.get_admin_context()
ctxt2 = context.get_admin_context()
uuid1 = str(stdlib_uuid.uuid4())
uuid2 = str(stdlib_uuid.uuid4())
- action_values = {'action': 'run_instance',
- 'instance_uuid': uuid1,
- 'request_id': ctxt1.request_id,
- 'user_id': ctxt1.user_id,
- 'project_id': ctxt1.project_id,
- 'start_time': timeutils.utcnow()}
- added_action = db.action_start(ctxt1, action_values)
-
- action_values = {'action': 'reboot',
- 'instance_uuid': uuid2,
- 'request_id': ctxt2.request_id,
- 'user_id': ctxt2.user_id,
- 'project_id': ctxt2.project_id,
- 'start_time': timeutils.utcnow()}
- db.action_start(ctxt2, action_values)
+ action = db.action_start(self.ctxt,
+ self._create_action_values(uuid1))
- start_time = timeutils.utcnow()
- event_values = {'event': 'schedule',
- 'instance_uuid': uuid1,
- 'request_id': ctxt1.request_id,
- 'start_time': start_time}
- added_event = db.action_event_start(ctxt1, event_values)
-
- event_values = {'event': 'reboot',
- 'instance_uuid': uuid2,
- 'request_id': ctxt2.request_id,
- 'start_time': timeutils.utcnow()}
+ db.action_start(ctxt2,
+ self._create_action_values(uuid2, 'reboot', ctxt2))
+
+ event = db.action_event_start(self.ctxt,
+ self._create_event_values(uuid1))
+
+ event_values = self._create_event_values(uuid2, 'reboot', ctxt2)
db.action_event_start(ctxt2, event_values)
# Retrieve the event to ensure it was successfully added
- event = db.action_event_get_by_id(ctxt1, added_action['id'],
- added_event['id'])
- self.assertEqual('schedule', event['event'])
- self.assertEqual(start_time, event['start_time'])
+ saved_event = db.action_event_get_by_id(self.ctxt,
+ action['id'],
+ event['id'])
+ self._assertEqualObjects(event, saved_event,
+ ['instance_uuid', 'request_id'])
class InstanceFaultTestCase(test.TestCase, ModelsObjectComparatorMixin):
@@ -3499,24 +3701,24 @@ class VolumeUsageDBApiTestCase(test.TestCase):
vol_usages = db.vol_get_usage_by_time(ctxt, start_time)
self.assertEqual(len(vol_usages), 0)
- vol_usage = db.vol_usage_update(ctxt, 1, rd_req=10, rd_bytes=20,
- wr_req=30, wr_bytes=40,
- instance_id='fake-instance-uuid1',
- project_id='fake-project-uuid1',
- user_id='fake-user-uuid1',
- availability_zone='fake-az')
- vol_usage = db.vol_usage_update(ctxt, 2, rd_req=100, rd_bytes=200,
- wr_req=300, wr_bytes=400,
- instance_id='fake-instance-uuid2',
- project_id='fake-project-uuid2',
- user_id='fake-user-uuid2',
- availability_zone='fake-az')
- vol_usage = db.vol_usage_update(ctxt, 1, rd_req=1000, rd_bytes=2000,
- wr_req=3000, wr_bytes=4000,
- instance_id='fake-instance-uuid1',
- project_id='fake-project-uuid1',
- user_id='fake-user-uuid1',
- availability_zone='fake-az')
+ db.vol_usage_update(ctxt, 1, rd_req=10, rd_bytes=20,
+ wr_req=30, wr_bytes=40,
+ instance_id='fake-instance-uuid1',
+ project_id='fake-project-uuid1',
+ user_id='fake-user-uuid1',
+ availability_zone='fake-az')
+ db.vol_usage_update(ctxt, 2, rd_req=100, rd_bytes=200,
+ wr_req=300, wr_bytes=400,
+ instance_id='fake-instance-uuid2',
+ project_id='fake-project-uuid2',
+ user_id='fake-user-uuid2',
+ availability_zone='fake-az')
+ db.vol_usage_update(ctxt, 1, rd_req=1000, rd_bytes=2000,
+ wr_req=3000, wr_bytes=4000,
+ instance_id='fake-instance-uuid1',
+ project_id='fake-project-uuid1',
+ user_id='fake-user-uuid1',
+ availability_zone='fake-az')
vol_usages = db.vol_get_usage_by_time(ctxt, start_time)
self.assertEqual(len(vol_usages), 2)
@@ -3538,44 +3740,44 @@ class VolumeUsageDBApiTestCase(test.TestCase):
timeutils.utcnow().AndReturn(now3)
self.mox.ReplayAll()
- vol_usage = db.vol_usage_update(ctxt, 1, rd_req=100, rd_bytes=200,
- wr_req=300, wr_bytes=400,
- instance_id='fake-instance-uuid',
- project_id='fake-project-uuid',
- user_id='fake-user-uuid',
- availability_zone='fake-az')
+ db.vol_usage_update(ctxt, 1, rd_req=100, rd_bytes=200,
+ wr_req=300, wr_bytes=400,
+ instance_id='fake-instance-uuid',
+ project_id='fake-project-uuid',
+ user_id='fake-user-uuid',
+ availability_zone='fake-az')
current_usage = db.vol_get_usage_by_time(ctxt, start_time)[0]
self.assertEqual(current_usage['tot_reads'], 0)
self.assertEqual(current_usage['curr_reads'], 100)
- vol_usage = db.vol_usage_update(ctxt, 1, rd_req=200, rd_bytes=300,
- wr_req=400, wr_bytes=500,
- instance_id='fake-instance-uuid',
- project_id='fake-project-uuid',
- user_id='fake-user-uuid',
- availability_zone='fake-az',
- update_totals=True)
+ db.vol_usage_update(ctxt, 1, rd_req=200, rd_bytes=300,
+ wr_req=400, wr_bytes=500,
+ instance_id='fake-instance-uuid',
+ project_id='fake-project-uuid',
+ user_id='fake-user-uuid',
+ availability_zone='fake-az',
+ update_totals=True)
current_usage = db.vol_get_usage_by_time(ctxt, start_time)[0]
self.assertEqual(current_usage['tot_reads'], 200)
self.assertEqual(current_usage['curr_reads'], 0)
- vol_usage = db.vol_usage_update(ctxt, 1, rd_req=300, rd_bytes=400,
- wr_req=500, wr_bytes=600,
- instance_id='fake-instance-uuid',
- project_id='fake-project-uuid',
- availability_zone='fake-az',
- user_id='fake-user-uuid')
+ db.vol_usage_update(ctxt, 1, rd_req=300, rd_bytes=400,
+ wr_req=500, wr_bytes=600,
+ instance_id='fake-instance-uuid',
+ project_id='fake-project-uuid',
+ availability_zone='fake-az',
+ user_id='fake-user-uuid')
current_usage = db.vol_get_usage_by_time(ctxt, start_time)[0]
self.assertEqual(current_usage['tot_reads'], 200)
self.assertEqual(current_usage['curr_reads'], 300)
- vol_usage = db.vol_usage_update(ctxt, 1, rd_req=400, rd_bytes=500,
- wr_req=600, wr_bytes=700,
- instance_id='fake-instance-uuid',
- project_id='fake-project-uuid',
- user_id='fake-user-uuid',
- availability_zone='fake-az',
- update_totals=True)
+ db.vol_usage_update(ctxt, 1, rd_req=400, rd_bytes=500,
+ wr_req=600, wr_bytes=700,
+ instance_id='fake-instance-uuid',
+ project_id='fake-project-uuid',
+ user_id='fake-user-uuid',
+ availability_zone='fake-az',
+ update_totals=True)
vol_usages = db.vol_get_usage_by_time(ctxt, start_time)
@@ -3792,12 +3994,15 @@ class BlockDeviceMappingTestCase(test.TestCase):
def test_block_device_mapping_update(self):
bdm = self._create_bdm({})
- db.block_device_mapping_update(self.ctxt, bdm['id'],
- {'destination_type': 'moon'},
- legacy=False)
+ result = db.block_device_mapping_update(
+ self.ctxt, bdm['id'], {'destination_type': 'moon'},
+ legacy=False)
uuid = bdm['instance_uuid']
bdm_real = db.block_device_mapping_get_all_by_instance(self.ctxt, uuid)
self.assertEqual(bdm_real[0]['destination_type'], 'moon')
+ # Also make sure the update call returned correct data
+ self.assertEqual(dict(bdm_real[0].iteritems()),
+ dict(result.iteritems()))
def test_block_device_mapping_update_or_create(self):
values = {
@@ -4517,7 +4722,7 @@ class QuotaTestCase(test.TestCase, ModelsObjectComparatorMixin):
self.ctxt, 'p1', 'nonexitent_resource')
def test_quota_usage_get(self):
- reservations = _quota_reserve(self.ctxt, 'p1')
+ _quota_reserve(self.ctxt, 'p1')
quota_usage = db.quota_usage_get(self.ctxt, 'p1', 'res0')
expected = {'resource': 'res0', 'project_id': 'p1',
'in_use': 0, 'reserved': 0, 'total': 0}
@@ -4525,7 +4730,7 @@ class QuotaTestCase(test.TestCase, ModelsObjectComparatorMixin):
self.assertEqual(value, quota_usage[key])
def test_quota_usage_get_all_by_project(self):
- reservations = _quota_reserve(self.ctxt, 'p1')
+ _quota_reserve(self.ctxt, 'p1')
expected = {'project_id': 'p1',
'res0': {'in_use': 0, 'reserved': 0},
'res1': {'in_use': 1, 'reserved': 1},
@@ -4538,8 +4743,7 @@ class QuotaTestCase(test.TestCase, ModelsObjectComparatorMixin):
self.ctxt, 'p1', 'resource', in_use=42)
def test_quota_usage_update(self):
- reservations = _quota_reserve(self.ctxt, 'p1')
- until_refresh = datetime.datetime.now() + datetime.timedelta(days=1)
+ _quota_reserve(self.ctxt, 'p1')
db.quota_usage_update(self.ctxt, 'p1', 'res0', in_use=42, reserved=43)
quota_usage = db.quota_usage_get(self.ctxt, 'p1', 'res0')
expected = {'resource': 'res0', 'project_id': 'p1',
@@ -4595,7 +4799,7 @@ class QuotaClassTestCase(test.TestCase, ModelsObjectComparatorMixin):
'resource0': 0, 'resource1': 1, 'resource2': 2})
def test_quota_class_update(self):
- qc = db.quota_class_create(self.ctxt, 'class name', 'resource', 42)
+ db.quota_class_create(self.ctxt, 'class name', 'resource', 42)
db.quota_class_update(self.ctxt, 'class name', 'resource', 43)
self.assertEqual(db.quota_class_get(self.ctxt, 'class name',
'resource').hard_limit, 43)
@@ -4754,6 +4958,19 @@ class ComputeNodeTestCase(test.TestCase, ModelsObjectComparatorMixin):
self.assertNotEqual(self.item['updated_at'],
item_updated['updated_at'])
+ def test_compute_node_update_override_updated_at(self):
+ # Update the record once so updated_at is set.
+ first = db.compute_node_update(self.ctxt, self.item['id'],
+ {'free_ram_mb': '12'})
+ self.assertIsNotNone(first['updated_at'])
+
+ # Update a second time. Make sure that the updated_at value we send
+ # is overridden.
+ second = db.compute_node_update(self.ctxt, self.item['id'],
+ {'updated_at': first.updated_at,
+ 'free_ram_mb': '13'})
+ self.assertNotEqual(first['updated_at'], second['updated_at'])
+
def test_compute_node_stat_unchanged(self):
# don't update unchanged stat values:
stats = self.item['stats']
@@ -4828,6 +5045,49 @@ class ProviderFwRuleTestCase(test.TestCase, ModelsObjectComparatorMixin):
self.assertEqual([], db.provider_fw_rule_get_all(self.ctxt))
+class CertificateTestCase(test.TestCase, ModelsObjectComparatorMixin):
+
+ def setUp(self):
+ super(CertificateTestCase, self).setUp()
+ self.ctxt = context.get_admin_context()
+ self.created = self._certificates_create()
+
+ def _get_certs_values(self):
+ base_values = {
+ 'user_id': 'user',
+ 'project_id': 'project',
+ 'file_name': 'filename'
+ }
+ return [dict((k, v + str(x)) for k, v in base_values.iteritems())
+ for x in xrange(1, 4)]
+
+ def _certificates_create(self):
+ return [db.certificate_create(self.ctxt, cert)
+ for cert in self._get_certs_values()]
+
+ def test_certificate_create(self):
+ ignored_keys = ['id', 'deleted', 'deleted_at', 'created_at',
+ 'updated_at']
+ for i, cert in enumerate(self._get_certs_values()):
+ self._assertEqualObjects(self.created[i], cert,
+ ignored_keys=ignored_keys)
+
+ def test_certificate_get_all_by_project(self):
+ cert = db.certificate_get_all_by_project(self.ctxt,
+ self.created[1].project_id)
+ self._assertEqualObjects(self.created[1], cert[0])
+
+ def test_certificate_get_all_by_user(self):
+ cert = db.certificate_get_all_by_user(self.ctxt,
+ self.created[1].user_id)
+ self._assertEqualObjects(self.created[1], cert[0])
+
+ def test_certificate_get_all_by_user_and_project(self):
+ cert = db.certificate_get_all_by_user_and_project(self.ctxt,
+ self.created[1].user_id, self.created[1].project_id)
+ self._assertEqualObjects(self.created[1], cert[0])
+
+
class CellTestCase(test.TestCase, ModelsObjectComparatorMixin):
_ignored_keys = ['id', 'deleted', 'deleted_at', 'created_at', 'updated_at']
@@ -4929,6 +5189,11 @@ class CellTestCase(test.TestCase, ModelsObjectComparatorMixin):
self.assertRaises(exception.CellNotFound, db.cell_update, self.ctxt,
'cellnotinbase', self._get_cell_base_values())
+ def test_cell_create_exists(self):
+ db.cell_create(self.ctxt, self._get_cell_base_values())
+ self.assertRaises(exception.CellExists, db.cell_create,
+ self.ctxt, self._get_cell_base_values())
+
class ArchiveTestCase(test.TestCase):
diff --git a/nova/tests/db/test_migration_utils.py b/nova/tests/db/test_migration_utils.py
index 3674a7c45..af206632d 100644
--- a/nova/tests/db/test_migration_utils.py
+++ b/nova/tests/db/test_migration_utils.py
@@ -19,7 +19,7 @@ import warnings
from migrate.changeset import UniqueConstraint
from sqlalchemy.dialects import mysql
from sqlalchemy import Boolean, Index, Integer, DateTime, String
-from sqlalchemy import MetaData, Table, Column
+from sqlalchemy import MetaData, Table, Column, ForeignKey
from sqlalchemy.engine import reflection
from sqlalchemy.exc import NoSuchTableError
from sqlalchemy.exc import SAWarning
@@ -514,3 +514,28 @@ class TestMigrationUtils(test_migrations.BaseMigrationTestCase):
# but sqlalchemy will set it to NullType.
self.assertTrue(isinstance(table.c.foo.type, NullType))
self.assertTrue(isinstance(table.c.deleted.type, Boolean))
+
+ def test_drop_unique_constraint_in_sqlite_fk_recreate(self):
+ engine = self.engines['sqlite']
+ meta = MetaData()
+ meta.bind = engine
+ parent_table = Table('table0', meta,
+ Column('id', Integer, primary_key=True),
+ Column('foo', Integer))
+ parent_table.create()
+ table_name = 'table1'
+ table = Table(table_name, meta,
+ Column('id', Integer, primary_key=True),
+ Column('baz', Integer),
+ Column('bar', Integer, ForeignKey("table0.id")),
+ UniqueConstraint('baz', name='constr1'))
+ table.create()
+ utils.drop_unique_constraint(engine, table_name, 'constr1', 'baz')
+
+ insp = reflection.Inspector.from_engine(engine)
+ f_keys = insp.get_foreign_keys(table_name)
+ self.assertEqual(len(f_keys), 1)
+ f_key = f_keys[0]
+ self.assertEqual(f_key['referred_table'], 'table0')
+ self.assertEqual(f_key['referred_columns'], ['id'])
+ self.assertEqual(f_key['constrained_columns'], ['bar'])
diff --git a/nova/tests/db/test_migrations.py b/nova/tests/db/test_migrations.py
index dc77a27d7..7e28fb1d5 100644
--- a/nova/tests/db/test_migrations.py
+++ b/nova/tests/db/test_migrations.py
@@ -806,8 +806,6 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
def _check_153(self, engine, data):
fake_types, fake_instances = data
# NOTE(danms): Fetch all the tables and data from scratch after change
- instances = db_utils.get_table(engine, 'instances')
- instance_types = db_utils.get_table(engine, 'instance_types')
sys_meta = db_utils.get_table(engine, 'instance_system_metadata')
# Collect all system metadata, indexed by instance_uuid
@@ -1073,7 +1071,6 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
for result in results:
the_id = result['id']
key = result['key']
- value = result['value']
original = data[the_id]
if key == 'instance_type_baz':
@@ -1643,6 +1640,35 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
rows = services.select().execute().fetchall()
self.assertFalse('disabled_reason' in rows[0])
+ def _pre_upgrade_189(self, engine):
+ cells = db_utils.get_table(engine, 'cells')
+ data = [
+ {'name': 'name_123', 'deleted': 0},
+ {'name': 'name_123', 'deleted': 0},
+ {'name': 'name_345', 'deleted': 0},
+ ]
+ for item in data:
+ cells.insert().values(item).execute()
+ return data
+
+ def _check_189(self, engine, data):
+ cells = db_utils.get_table(engine, 'cells')
+
+ def get_(name, deleted):
+ deleted_value = 0 if not deleted else cells.c.id
+ return cells.select().\
+ where(cells.c.name == name).\
+ where(cells.c.deleted == deleted_value).\
+ execute().\
+ fetchall()
+
+ self.assertEqual(1, len(get_('name_123', False)))
+ self.assertEqual(1, len(get_('name_123', True)))
+ self.assertEqual(1, len(get_('name_345', False)))
+ self.assertRaises(sqlalchemy.exc.IntegrityError,
+ cells.insert().execute,
+ {'name': 'name_123', 'deleted': 0})
+
class TestBaremetalMigrations(BaseMigrationTestCase, CommonTestsMixIn):
"""Test sqlalchemy-migrate migrations."""
@@ -1746,6 +1772,13 @@ class TestBaremetalMigrations(BaseMigrationTestCase, CommonTestsMixIn):
columns = [c.name for c in bm_nodes.columns]
self.assertNotIn(u'prov_mac_address', columns)
+ def _check_008(self, engine, data):
+ self.assertRaises(sqlalchemy.exc.NoSuchTableError,
+ db_utils.get_table, engine, 'bm_pxe_ips')
+
+ def _post_downgrade_008(self, engine):
+ db_utils.get_table(engine, 'bm_pxe_ips')
+
class ProjectTestCase(test.TestCase):
diff --git a/nova/tests/fake_network.py b/nova/tests/fake_network.py
index 79af362bb..f4e8d3841 100644
--- a/nova/tests/fake_network.py
+++ b/nova/tests/fake_network.py
@@ -27,6 +27,9 @@ from nova.network import manager as network_manager
from nova.network import model as network_model
from nova.network import nova_ipam_lib
from nova.network import rpcapi as network_rpcapi
+from nova.objects import base as obj_base
+from nova.objects import instance_info_cache
+from nova.openstack.common import jsonutils
from nova.virt.libvirt import config as libvirt_config
@@ -456,7 +459,7 @@ def _get_fake_cache():
ipv6_addr = 'fe80:b33f::a8bb:ccff:fedd:eeff'
info[0]['network']['subnets'].append({'cidr': 'fe80:b33f::/64',
'ips': [_ip(ipv6_addr)]})
- return info
+ return jsonutils.dumps(info)
def _get_instances_with_cached_ips(orig_func, *args, **kwargs):
@@ -464,9 +467,22 @@ def _get_instances_with_cached_ips(orig_func, *args, **kwargs):
entries
"""
instances = orig_func(*args, **kwargs)
- if isinstance(instances, list):
+ context = args[0]
+
+ def _info_cache_for(instance):
+ info_cache = {'network_info': _get_fake_cache(),
+ 'instance_uuid': instance['uuid']}
+ if isinstance(instance, obj_base.NovaObject):
+ _info_cache = instance_info_cache.InstanceInfoCache()
+ instance_info_cache.InstanceInfoCache._from_db_object(context,
+ _info_cache,
+ info_cache)
+ info_cache = _info_cache
+ instance['info_cache'] = info_cache
+
+ if isinstance(instances, (list, obj_base.ObjectListBase)):
for instance in instances:
- instance['info_cache'] = {'network_info': _get_fake_cache()}
+ _info_cache_for(instance)
else:
- instances['info_cache'] = {'network_info': _get_fake_cache()}
+ _info_cache_for(instances)
return instances
diff --git a/nova/tests/fake_policy.py b/nova/tests/fake_policy.py
index ed8cc7424..cbd856f4b 100644
--- a/nova/tests/fake_policy.py
+++ b/nova/tests/fake_policy.py
@@ -111,7 +111,9 @@ policy_data = """
"compute_extension:attach_interfaces": "",
"compute_extension:baremetal_nodes": "",
"compute_extension:cells": "",
+ "compute_extension:v3:os-cells": "",
"compute_extension:certificates": "",
+ "compute_extension:v3:os-certificates": "",
"compute_extension:cloudpipe": "",
"compute_extension:cloudpipe_update": "",
"compute_extension:config_drive": "",
@@ -122,6 +124,7 @@ policy_data = """
"compute_extension:deferred_delete": "",
"compute_extension:disk_config": "",
"compute_extension:evacuate": "is_admin:True",
+ "compute_extension:v3:os-evacuate": "is_admin:True",
"compute_extension:extended_server_attributes": "",
"compute_extension:extended_status": "",
"compute_extension:extended_availability_zone": "",
@@ -131,7 +134,9 @@ policy_data = """
"compute_extension:fixed_ips": "",
"compute_extension:v3:os-fixed-ips": "",
"compute_extension:flavor_access": "",
+ "compute_extension:v3:os-flavor-access": "",
"compute_extension:flavor_disabled": "",
+ "compute_extension:v3:os-flavor-disabled": "",
"compute_extension:flavor_rxtx": "",
"compute_extension:flavor_swap": "",
"compute_extension:flavorextradata": "",
@@ -151,6 +156,7 @@ policy_data = """
"compute_extension:hosts": "",
"compute_extension:hypervisors": "",
"compute_extension:image_size": "",
+ "compute_extension:v3:os-images": "",
"compute_extension:instance_actions": "",
"compute_extension:instance_actions:events": "is_admin:True",
"compute_extension:instance_usage_audit_log": "",
@@ -164,11 +170,16 @@ policy_data = """
"compute_extension:quotas:show": "",
"compute_extension:quotas:update": "",
"compute_extension:quotas:delete": "",
+ "compute_extension:v3:os-quota-sets:show": "",
+ "compute_extension:v3:os-quota-sets:update": "",
+ "compute_extension:v3:os-quota-sets:delete": "",
"compute_extension:quota_classes": "",
"compute_extension:rescue": "",
+ "compute_extension:v3:os-rescue": "",
"compute_extension:security_group_default_rules": "",
"compute_extension:security_groups": "",
"compute_extension:server_diagnostics": "",
+ "compute_extension:v3:os-server-diagnostics": "",
"compute_extension:server_password": "",
"compute_extension:server_usage": "",
"compute_extension:services": "",
diff --git a/nova/tests/integrated/test_api_samples.py b/nova/tests/integrated/test_api_samples.py
index 87ed6c6ce..00a989a70 100644
--- a/nova/tests/integrated/test_api_samples.py
+++ b/nova/tests/integrated/test_api_samples.py
@@ -47,7 +47,7 @@ from nova.openstack.common import jsonutils
from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
import nova.quota
-from nova.scheduler import driver
+from nova.scheduler import manager as scheduler_manager
from nova.servicegroup import api as service_group_api
from nova import test
from nova.tests.api.openstack.compute.contrib import test_coverage_ext
@@ -2213,23 +2213,13 @@ class AdminActionsSamplesJsonTest(ServersSampleBase):
def test_post_live_migrate_server(self):
# Get api samples to server live migrate request.
- def fake_live_migration_src_check(self, context, instance_ref):
- """Skip live migration scheduler checks."""
+ def fake_live_migration(self, context, instance, dest,
+ block_migration, disk_over_commit):
return
- def fake_live_migration_dest_check(self, context, instance_ref, dest):
- """Skip live migration scheduler checks."""
- return dest
-
- def fake_live_migration_common(self, context, instance_ref, dest):
- """Skip live migration scheduler checks."""
- return
- self.stubs.Set(driver.Scheduler, '_live_migration_src_check',
- fake_live_migration_src_check)
- self.stubs.Set(driver.Scheduler, '_live_migration_dest_check',
- fake_live_migration_dest_check)
- self.stubs.Set(driver.Scheduler, '_live_migration_common_check',
- fake_live_migration_common)
+ self.stubs.Set(scheduler_manager.SchedulerManager,
+ 'live_migration',
+ fake_live_migration)
def fake_get_compute(context, host):
service = dict(host=host,
@@ -3194,7 +3184,7 @@ class ExtendedAvailabilityZoneJsonTests(ServersSampleBase):
self._verify_response('server-get-resp', subs, response, 200)
def test_detail(self):
- uuid = self._post_server()
+ self._post_server()
response = self._do_get('servers/detail')
subs = self._get_regexes()
subs['hostid'] = '[a-f0-9]+'
@@ -3422,18 +3412,18 @@ class ConfigDriveSampleJsonTest(ServersSampleBase):
response = self._do_get('servers/%s' % uuid)
subs = self._get_regexes()
subs['hostid'] = '[a-f0-9]+'
- # config drive can be an uuid or empty value
- subs['cdrive'] = '(%s)?' % subs['uuid']
+ # config drive can be a string for True or empty value for False
+ subs['cdrive'] = '.*'
self._verify_response('server-config-drive-get-resp', subs,
response, 200)
def test_config_drive_detail(self):
- uuid = self._post_server()
+ self._post_server()
response = self._do_get('servers/detail')
subs = self._get_regexes()
subs['hostid'] = '[a-f0-9]+'
- # config drive can be an uuid or empty value
- subs['cdrive'] = '(%s)?' % subs['uuid']
+ # config drive can be a string for True or empty value for False
+ subs['cdrive'] = '.*'
self._verify_response('servers-config-drive-details-resp',
subs, response, 200)
@@ -3506,7 +3496,7 @@ class FlavorAccessSampleJsonTests(ApiSampleTestBase):
def test_flavor_access_add_tenant(self):
self._create_flavor()
- response = self._add_tenant()
+ self._add_tenant()
def test_flavor_access_remove_tenant(self):
self._create_flavor()
diff --git a/nova/tests/network/test_linux_net.py b/nova/tests/network/test_linux_net.py
index 5c7f3828d..e8368d06a 100644
--- a/nova/tests/network/test_linux_net.py
+++ b/nova/tests/network/test_linux_net.py
@@ -861,7 +861,6 @@ class LinuxNetworkTestCase(test.TestCase):
self.stubs.Set(ln, 'ensure_ebtables_rules', lambda *a, **kw: None)
net = {'bridge': 'br100', 'cidr': '10.0.0.0/24'}
ln.ensure_floating_forward('10.10.10.10', '10.0.0.1', 'eth0', net)
- one_forward_rules = len(linux_net.iptables_manager.ipv4['nat'].rules)
ln.ensure_floating_forward('10.10.10.11', '10.0.0.10', 'eth0', net)
two_forward_rules = len(linux_net.iptables_manager.ipv4['nat'].rules)
ln.ensure_floating_forward('10.10.10.10', '10.0.0.3', 'eth0', net)
diff --git a/nova/tests/network/test_network_info.py b/nova/tests/network/test_network_info.py
index bb3d91f55..38a27b51c 100644
--- a/nova/tests/network/test_network_info.py
+++ b/nova/tests/network/test_network_info.py
@@ -372,7 +372,7 @@ class NetworkInfoTests(test.TestCase):
ninfo = model.NetworkInfo([fake_network_cache_model.new_vif(),
fake_network_cache_model.new_vif(
{'address': 'bb:bb:bb:bb:bb:bb'})])
- deserialized = model.NetworkInfo.hydrate(ninfo)
+ model.NetworkInfo.hydrate(ninfo)
self.assertEqual(ninfo.fixed_ips(),
[fake_network_cache_model.new_ip({'address': '10.10.0.2'}),
fake_network_cache_model.new_ip(
diff --git a/nova/tests/network/test_quantumv2.py b/nova/tests/network/test_quantumv2.py
index b8cadc8d6..a2e7efcc0 100644
--- a/nova/tests/network/test_quantumv2.py
+++ b/nova/tests/network/test_quantumv2.py
@@ -19,8 +19,6 @@ import uuid
import mox
from oslo.config import cfg
-from quantumclient import client as quantum_client
-from quantumclient.common import exceptions as quantum_exceptions
from quantumclient.v2_0 import client
from nova.compute import flavors
@@ -104,17 +102,6 @@ class TestQuantumClient(test.TestCase):
self.mox.ReplayAll()
quantumv2.get_client(my_context)
- def test_cached_admin_client(self):
- self.mox.StubOutWithMock(quantum_client.HTTPClient, "authenticate")
-
- # should be called one time only
- quantum_client.HTTPClient.authenticate()
- self.mox.ReplayAll()
-
- admin1 = quantumv2.get_client(None, admin=True)
- admin2 = quantumv2.get_client(None, admin=True)
- self.assertIs(admin1, admin2)
-
def test_withouttoken_keystone_connection_error(self):
self.flags(quantum_auth_strategy='keystone')
self.flags(quantum_url='http://anyhost/')
@@ -740,7 +727,6 @@ class TestQuantumv2(test.TestCase):
port_data = number == 1 and self.port_data1 or self.port_data2
self.moxed_client.delete_port(port_data[0]['id'])
- nets = [port_data[0]['network_id']]
quantumv2.get_client(mox.IgnoreArg(), admin=True).AndReturn(
self.moxed_client)
self.moxed_client.list_ports(
@@ -1082,7 +1068,6 @@ class TestQuantumv2(test.TestCase):
def test_allocate_floating_ip_with_pool_id(self):
api = quantumapi.API()
- pool_name = self.fip_pool['name']
pool_id = self.fip_pool['id']
search_opts = {'router:external': True,
'fields': 'id',
@@ -1126,7 +1111,6 @@ class TestQuantumv2(test.TestCase):
def test_release_floating_ip_associated(self):
api = quantumapi.API()
address = self.fip_associated['floating_ip_address']
- fip_id = self.fip_associated['id']
self.moxed_client.list_floatingips(floating_ip_address=address).\
AndReturn({'floatingips': [self.fip_associated]})
@@ -1170,7 +1154,6 @@ class TestQuantumv2(test.TestCase):
api = quantumapi.API()
address = self.fip_associated['floating_ip_address']
fixed_address = self.fip_associated['fixed_ip_address']
- fip_id = self.fip_associated['id']
search_opts = {'device_owner': 'compute:nova',
'device_id': self.instance['uuid']}
@@ -1204,7 +1187,6 @@ class TestQuantumv2(test.TestCase):
self.moxed_client.list_subnets(
**search_opts).AndReturn({'subnets': self.subnet_data_n})
- zone = 'compute:%s' % self.instance['availability_zone']
search_opts = {'device_id': self.instance['uuid'],
'device_owner': 'compute:nova',
'network_id': network_id}
@@ -1249,7 +1231,7 @@ class TestQuantumv2(test.TestCase):
def test_list_floating_ips_without_l3_support(self):
api = quantumapi.API()
- QuantumNotFound = quantum_exceptions.QuantumClientException(
+ QuantumNotFound = quantumv2.exceptions.QuantumClientException(
status_code=404)
self.moxed_client.list_floatingips(
fixed_ip_address='1.1.1.1', port_id=1).AndRaise(QuantumNotFound)
@@ -1383,6 +1365,13 @@ class TestQuantumv2(test.TestCase):
self.assertEqual(nw_info[0]['type'], model.VIF_TYPE_BRIDGE)
self.assertEqual(nw_info[0]['network']['bridge'], 'brqnet-id')
+ def test_get_all_empty_list_networks(self):
+ api = quantumapi.API()
+ self.moxed_client.list_networks().AndReturn({'networks': []})
+ self.mox.ReplayAll()
+ networks = api.get_all(self.context)
+ self.assertEqual(networks, [])
+
class TestQuantumv2ModuleMethods(test.TestCase):
def test_ensure_requested_network_ordering_no_preference_ids(self):
diff --git a/nova/tests/objects/test_instance.py b/nova/tests/objects/test_instance.py
index a9238a924..9f222951a 100644
--- a/nova/tests/objects/test_instance.py
+++ b/nova/tests/objects/test_instance.py
@@ -20,8 +20,12 @@ from nova import context
from nova import db
from nova.objects import base
from nova.objects import instance
+from nova.objects import security_group
from nova.openstack.common import timeutils
+from nova import test
from nova.tests.api.openstack import fakes
+from nova.tests import fake_instance
+from nova.tests.objects import test_instance_fault
from nova.tests.objects import test_objects
@@ -41,6 +45,7 @@ class _TestInstanceObject(object):
tzinfo=iso8601.iso8601.Utc(), microsecond=0))
fake_instance['deleted'] = False
fake_instance['info_cache']['instance_uuid'] = fake_instance['uuid']
+ fake_instance['security_groups'] = None
return fake_instance
def test_datetime_deserialization(self):
@@ -90,7 +95,7 @@ class _TestInstanceObject(object):
self.mox.StubOutWithMock(db, 'instance_get_by_uuid')
db.instance_get_by_uuid(ctxt, 'uuid', []).AndReturn(self.fake_instance)
self.mox.ReplayAll()
- inst = instance.Instance.get_by_uuid(ctxt, uuid='uuid')
+ inst = instance.Instance.get_by_uuid(ctxt, 'uuid')
# Make sure these weren't loaded
for attr in instance.INSTANCE_OPTIONAL_FIELDS:
attrname = base.get_attrname(attr)
@@ -102,7 +107,7 @@ class _TestInstanceObject(object):
self.mox.StubOutWithMock(db, 'instance_get_by_uuid')
db.instance_get_by_uuid(
ctxt, 'uuid',
- instance.INSTANCE_OPTIONAL_FIELDS).AndReturn(self.fake_instance)
+ ['metadata', 'system_metadata']).AndReturn(self.fake_instance)
self.mox.ReplayAll()
inst = instance.Instance.get_by_uuid(
ctxt, 'uuid', expected_attrs=instance.INSTANCE_OPTIONAL_FIELDS)
@@ -163,6 +168,7 @@ class _TestInstanceObject(object):
inst.refresh()
self.assertEqual(inst.host, 'new-host')
self.assertRemotes()
+ self.assertEqual(set([]), inst.obj_what_changed())
def test_save(self):
ctxt = context.get_admin_context()
@@ -212,6 +218,67 @@ class _TestInstanceObject(object):
inst.info_cache.network_info = 'bar'
inst.save()
+ def test_with_security_groups(self):
+ ctxt = context.get_admin_context()
+ fake_inst = dict(self.fake_instance)
+ fake_uuid = fake_inst['uuid']
+ fake_inst['security_groups'] = [
+ {'id': 1, 'name': 'secgroup1', 'description': 'fake-desc',
+ 'user_id': 'fake-user', 'project_id': 'fake_project',
+ 'created_at': None, 'updated_at': None, 'deleted_at': None,
+ 'deleted': False},
+ {'id': 2, 'name': 'secgroup2', 'description': 'fake-desc',
+ 'user_id': 'fake-user', 'project_id': 'fake_project',
+ 'created_at': None, 'updated_at': None, 'deleted_at': None,
+ 'deleted': False},
+ ]
+ self.mox.StubOutWithMock(db, 'instance_get_by_uuid')
+ self.mox.StubOutWithMock(db, 'instance_update_and_get_original')
+ self.mox.StubOutWithMock(db, 'security_group_update')
+ db.instance_get_by_uuid(ctxt, fake_uuid, []).AndReturn(fake_inst)
+ db.security_group_update(ctxt, 1, {'description': 'changed'}
+ ).AndReturn(fake_inst['security_groups'][0])
+ self.mox.ReplayAll()
+ inst = instance.Instance.get_by_uuid(ctxt, fake_uuid)
+ self.assertEqual(len(inst.security_groups), 2)
+ for index, group in enumerate(fake_inst['security_groups']):
+ for key in group:
+ self.assertEqual(group[key],
+ inst.security_groups[index][key])
+ self.assertTrue(isinstance(inst.security_groups[index],
+ security_group.SecurityGroup))
+ self.assertEqual(inst.security_groups.obj_what_changed(), set())
+ inst.security_groups[0].description = 'changed'
+ inst.save()
+ self.assertEqual(inst.security_groups.obj_what_changed(), set())
+
+ def test_with_fault(self):
+ ctxt = context.get_admin_context()
+ fake_inst = dict(self.fake_instance)
+ fake_uuid = fake_inst['uuid']
+ fake_faults = [dict(x, instance_uuid=fake_uuid)
+ for x in test_instance_fault.fake_faults['fake-uuid']]
+ self.mox.StubOutWithMock(db, 'instance_get_by_uuid')
+ self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
+ db.instance_get_by_uuid(ctxt, fake_uuid, []).AndReturn(
+ self.fake_instance)
+ db.instance_fault_get_by_instance_uuids(ctxt, [fake_uuid]).AndReturn(
+ {fake_uuid: fake_faults})
+ self.mox.ReplayAll()
+ inst = instance.Instance.get_by_uuid(ctxt, fake_uuid,
+ expected_attrs=['fault'])
+ self.assertEqual(fake_faults[0], dict(inst.fault.items()))
+ self.assertRemotes()
+
+ def test_iteritems_with_extra_attrs(self):
+ self.stubs.Set(instance.Instance, 'name', 'foo')
+ inst = instance.Instance()
+ inst.uuid = 'fake-uuid'
+ self.assertEqual(inst.items(),
+ {'uuid': 'fake-uuid',
+ 'name': 'foo',
+ }.items())
+
class TestInstanceObject(test_objects._LocalTest,
_TestInstanceObject):
@@ -238,6 +305,7 @@ class _TestInstanceListObject(object):
tzinfo=iso8601.iso8601.Utc(), microsecond=0))
fake_instance['info_cache'] = {'network_info': 'foo',
'instance_uuid': fake_instance['uuid']}
+ fake_instance['security_groups'] = []
fake_instance['deleted'] = 0
if updates:
fake_instance.update(updates)
@@ -248,7 +316,7 @@ class _TestInstanceListObject(object):
ctxt = context.get_admin_context()
self.mox.StubOutWithMock(db, 'instance_get_all_by_filters')
db.instance_get_all_by_filters(ctxt, {'foo': 'bar'}, 'uuid', 'asc',
- None, None,
+ limit=None, marker=None,
columns_to_join=['metadata']).AndReturn(
fakes)
self.mox.ReplayAll()
@@ -274,6 +342,7 @@ class _TestInstanceListObject(object):
self.assertTrue(isinstance(inst_list.objects[i],
instance.Instance))
self.assertEqual(inst_list.objects[i].uuid, fakes[i]['uuid'])
+ self.assertEqual(inst_list.objects[i]._context, ctxt)
self.assertEqual(inst_list.obj_what_changed(), set())
self.assertRemotes()
@@ -326,6 +395,27 @@ class _TestInstanceListObject(object):
self.assertEqual(inst_list.objects[i].uuid, fakes[i]['uuid'])
self.assertRemotes()
+ def test_with_fault(self):
+ ctxt = context.get_admin_context()
+ fake_insts = [
+ fake_instance.fake_db_instance(uuid='fake-uuid', host='host'),
+ fake_instance.fake_db_instance(uuid='fake-inst2', host='host'),
+ ]
+ fake_faults = test_instance_fault.fake_faults
+ self.mox.StubOutWithMock(db, 'instance_get_all_by_host')
+ self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
+ db.instance_get_all_by_host(ctxt, 'host', columns_to_join=[]
+ ).AndReturn(fake_insts)
+ db.instance_fault_get_by_instance_uuids(
+ ctxt, [x['uuid'] for x in fake_insts]).AndReturn(fake_faults)
+ self.mox.ReplayAll()
+ instances = instance.InstanceList.get_by_host(ctxt, 'host',
+ expected_attrs=['fault'])
+ self.assertEqual(2, len(instances))
+ self.assertEqual(fake_faults['fake-uuid'][0],
+ dict(instances[0].fault.iteritems()))
+ self.assertEqual(None, instances[1].fault)
+
class TestInstanceListObject(test_objects._LocalTest,
_TestInstanceListObject):
@@ -335,3 +425,10 @@ class TestInstanceListObject(test_objects._LocalTest,
class TestRemoteInstanceListObject(test_objects._RemoteTest,
_TestInstanceListObject):
pass
+
+
+class TestInstanceObjectMisc(test.TestCase):
+ def test_expected_cols(self):
+ self.stubs.Set(instance, 'INSTANCE_OPTIONAL_NON_COLUMNS', ['bar'])
+ self.assertEqual(['foo'], instance.expected_cols(['foo', 'bar']))
+ self.assertEqual(None, instance.expected_cols(None))
diff --git a/nova/tests/objects/test_instance_fault.py b/nova/tests/objects/test_instance_fault.py
new file mode 100644
index 000000000..2f9840df1
--- /dev/null
+++ b/nova/tests/objects/test_instance_fault.py
@@ -0,0 +1,86 @@
+# Copyright 2013 IBM Corp.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from nova import context
+from nova import db
+from nova.objects import instance_fault
+from nova.tests.objects import test_objects
+
+
+fake_faults = {
+ 'fake-uuid': [
+ {'id': 1, 'instance_uuid': 'fake-uuid', 'code': 123, 'message': 'msg1',
+ 'details': 'details', 'host': 'host', 'deleted': False,
+ 'created_at': None, 'updated_at': None, 'deleted_at': None},
+ {'id': 2, 'instance_uuid': 'fake-uuid', 'code': 456, 'message': 'msg2',
+ 'details': 'details', 'host': 'host', 'deleted': False,
+ 'created_at': None, 'updated_at': None, 'deleted_at': None},
+ ]
+ }
+
+
+class _TestInstanceFault(object):
+ def test_get_latest_for_instance(self):
+ ctxt = context.get_admin_context()
+ self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
+ db.instance_fault_get_by_instance_uuids(ctxt, ['fake-uuid']).AndReturn(
+ fake_faults)
+ self.mox.ReplayAll()
+ fault = instance_fault.InstanceFault.get_latest_for_instance(
+ ctxt, 'fake-uuid')
+ for key in fake_faults['fake-uuid'][0]:
+ self.assertEqual(fake_faults['fake-uuid'][0][key], fault[key])
+
+ def test_get_latest_for_instance_with_none(self):
+ ctxt = context.get_admin_context()
+ self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
+ db.instance_fault_get_by_instance_uuids(ctxt, ['fake-uuid']).AndReturn(
+ {})
+ self.mox.ReplayAll()
+ fault = instance_fault.InstanceFault.get_latest_for_instance(
+ ctxt, 'fake-uuid')
+ self.assertEqual(None, fault)
+
+ def test_get_by_instance(self):
+ ctxt = context.get_admin_context()
+ self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
+ db.instance_fault_get_by_instance_uuids(ctxt, ['fake-uuid']).AndReturn(
+ fake_faults)
+ self.mox.ReplayAll()
+ faults = instance_fault.InstanceFaultList.get_by_instance_uuids(
+ ctxt, ['fake-uuid'])
+ for index, db_fault in enumerate(fake_faults['fake-uuid']):
+ for key in db_fault:
+ self.assertEqual(fake_faults['fake-uuid'][index][key],
+ faults[index][key])
+
+ def test_get_by_instance_with_none(self):
+ ctxt = context.get_admin_context()
+ self.mox.StubOutWithMock(db, 'instance_fault_get_by_instance_uuids')
+ db.instance_fault_get_by_instance_uuids(ctxt, ['fake-uuid']).AndReturn(
+ {})
+ self.mox.ReplayAll()
+ faults = instance_fault.InstanceFaultList.get_by_instance_uuids(
+ ctxt, ['fake-uuid'])
+ self.assertEqual(0, len(faults))
+
+
+class TestInstanceFault(test_objects._LocalTest,
+ _TestInstanceFault):
+ pass
+
+
+class TestInstanceFaultRemote(test_objects._RemoteTest,
+ _TestInstanceFault):
+ pass
diff --git a/nova/tests/objects/test_objects.py b/nova/tests/objects/test_objects.py
index 332833cb0..03a270386 100644
--- a/nova/tests/objects/test_objects.py
+++ b/nova/tests/objects/test_objects.py
@@ -178,6 +178,31 @@ class TestUtils(test.TestCase):
self.assertEqual(utils.dt_deserializer(None, None), None)
self.assertRaises(ValueError, utils.dt_deserializer, None, 'foo')
+ def test_obj_to_primitive_list(self):
+ class MyList(base.ObjectListBase, base.NovaObject):
+ pass
+ mylist = MyList()
+ mylist.objects = [1, 2, 3]
+ self.assertEqual([1, 2, 3], base.obj_to_primitive(mylist))
+
+ def test_obj_to_primitive_dict(self):
+ myobj = MyObj()
+ myobj.foo = 1
+ myobj.bar = 'foo'
+ self.assertEqual({'foo': 1, 'bar': 'foo'},
+ base.obj_to_primitive(myobj))
+
+ def test_obj_to_primitive_recursive(self):
+ class MyList(base.ObjectListBase, base.NovaObject):
+ pass
+
+ mylist = MyList()
+ mylist.objects = [MyObj(), MyObj()]
+ for i, value in enumerate(mylist):
+ value.foo = i
+ self.assertEqual([{'foo': 0}, {'foo': 1}],
+ base.obj_to_primitive(mylist))
+
class _BaseTestCase(test.TestCase):
def setUp(self):
@@ -441,6 +466,13 @@ class _TestObject(object):
}
self.assertEqual(obj.obj_to_primitive(), expected)
+ def test_contains(self):
+ obj = MyObj()
+ self.assertFalse('foo' in obj)
+ obj.foo = 1
+ self.assertTrue('foo' in obj)
+ self.assertFalse('does_not_exist' in obj)
+
class TestObject(_LocalTest, _TestObject):
pass
@@ -502,3 +534,40 @@ class TestObjectListBase(test.TestCase):
self.assertFalse(obj is obj2)
self.assertEqual([x.foo for x in obj],
[y.foo for y in obj2])
+
+
+class TestObjectSerializer(test.TestCase):
+ def test_serialize_entity_primitive(self):
+ ser = base.NovaObjectSerializer()
+ for thing in (1, 'foo', [1, 2], {'foo': 'bar'}):
+ self.assertEqual(thing, ser.serialize_entity(None, thing))
+
+ def test_deserialize_entity_primitive(self):
+ ser = base.NovaObjectSerializer()
+ for thing in (1, 'foo', [1, 2], {'foo': 'bar'}):
+ self.assertEqual(thing, ser.deserialize_entity(None, thing))
+
+ def test_object_serialization(self):
+ ser = base.NovaObjectSerializer()
+ ctxt = context.get_admin_context()
+ obj = MyObj()
+ primitive = ser.serialize_entity(ctxt, obj)
+ self.assertTrue('nova_object.name' in primitive)
+ obj2 = ser.deserialize_entity(ctxt, primitive)
+ self.assertTrue(isinstance(obj2, MyObj))
+ self.assertEqual(ctxt, obj2._context)
+
+ def test_object_serialization_iterables(self):
+ ser = base.NovaObjectSerializer()
+ ctxt = context.get_admin_context()
+ obj = MyObj()
+ for iterable in (list, tuple, set):
+ thing = iterable([obj])
+ primitive = ser.serialize_entity(ctxt, thing)
+ self.assertEqual(1, len(primitive))
+ for item in primitive:
+ self.assertFalse(isinstance(item, base.NovaObject))
+ thing2 = ser.deserialize_entity(ctxt, primitive)
+ self.assertEqual(1, len(thing2))
+ for item in thing2:
+ self.assertTrue(isinstance(item, MyObj))
diff --git a/nova/tests/objects/test_security_group.py b/nova/tests/objects/test_security_group.py
new file mode 100644
index 000000000..ee2f79ad7
--- /dev/null
+++ b/nova/tests/objects/test_security_group.py
@@ -0,0 +1,186 @@
+# Copyright 2013 IBM Corp.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from nova import context
+from nova import db
+from nova.objects import instance
+from nova.objects import security_group
+from nova.tests.objects import test_objects
+
+
+fake_secgroup = {
+ 'created_at': None,
+ 'updated_at': None,
+ 'deleted_at': None,
+ 'deleted': None,
+ 'id': 1,
+ 'name': 'fake-name',
+ 'description': 'fake-desc',
+ 'user_id': 'fake-user',
+ 'project_id': 'fake-project',
+ }
+
+
+class _TestSecurityGroupObject(object):
+ def _fix_deleted(self, db_secgroup):
+ # NOTE(danms): Account for the difference in 'deleted'
+ return dict(db_secgroup.items(), deleted=False)
+
+ def test_get(self):
+ ctxt = context.get_admin_context()
+ self.mox.StubOutWithMock(db, 'security_group_get')
+ db.security_group_get(ctxt, 1).AndReturn(fake_secgroup)
+ self.mox.ReplayAll()
+ secgroup = security_group.SecurityGroup.get(ctxt, 1)
+ self.assertEqual(self._fix_deleted(fake_secgroup),
+ dict(secgroup.items()))
+ self.assertEqual(secgroup.obj_what_changed(), set())
+ self.assertRemotes()
+
+ def test_get_by_name(self):
+ ctxt = context.get_admin_context()
+ self.mox.StubOutWithMock(db, 'security_group_get_by_name')
+ db.security_group_get_by_name(ctxt, 'fake-project',
+ 'fake-name').AndReturn(fake_secgroup)
+ self.mox.ReplayAll()
+ secgroup = security_group.SecurityGroup.get_by_name(ctxt,
+ 'fake-project',
+ 'fake-name')
+ self.assertEqual(self._fix_deleted(fake_secgroup),
+ dict(secgroup.items()))
+ self.assertEqual(secgroup.obj_what_changed(), set())
+ self.assertRemotes()
+
+ def test_in_use(self):
+ ctxt = context.get_admin_context()
+ self.mox.StubOutWithMock(db, 'security_group_in_use')
+ db.security_group_in_use(ctxt, 123).AndReturn(True)
+ self.mox.ReplayAll()
+ secgroup = security_group.SecurityGroup()
+ secgroup.id = 123
+ self.assertTrue(secgroup.in_use(ctxt))
+ self.assertRemotes()
+
+ def test_save(self):
+ ctxt = context.get_admin_context()
+ self.mox.StubOutWithMock(db, 'security_group_update')
+ updated_secgroup = dict(fake_secgroup, project_id='changed')
+ db.security_group_update(ctxt, 1,
+ {'description': 'foobar'}).AndReturn(
+ updated_secgroup)
+ self.mox.ReplayAll()
+ secgroup = security_group.SecurityGroup._from_db_object(
+ security_group.SecurityGroup(), fake_secgroup)
+ secgroup.description = 'foobar'
+ secgroup.save(ctxt)
+ self.assertEqual(self._fix_deleted(updated_secgroup),
+ dict(secgroup.items()))
+ self.assertEqual(secgroup.obj_what_changed(), set())
+ self.assertRemotes()
+
+ def test_save_no_changes(self):
+ ctxt = context.get_admin_context()
+ self.mox.StubOutWithMock(db, 'security_group_update')
+ self.mox.ReplayAll()
+ secgroup = security_group.SecurityGroup._from_db_object(
+ security_group.SecurityGroup(), fake_secgroup)
+ secgroup.save(ctxt)
+
+ def test_refresh(self):
+ ctxt = context.get_admin_context()
+ updated_secgroup = dict(fake_secgroup, description='changed')
+ self.mox.StubOutWithMock(db, 'security_group_get')
+ db.security_group_get(ctxt, 1).AndReturn(updated_secgroup)
+ self.mox.ReplayAll()
+ secgroup = security_group.SecurityGroup._from_db_object(
+ security_group.SecurityGroup(), fake_secgroup)
+ secgroup.refresh(ctxt)
+ self.assertEqual(self._fix_deleted(updated_secgroup),
+ dict(secgroup.items()))
+ self.assertEqual(secgroup.obj_what_changed(), set())
+ self.assertRemotes()
+
+
+class TestSecurityGroupObject(test_objects._LocalTest,
+ _TestSecurityGroupObject):
+ pass
+
+
+class TestSecurityGroupObjectRemote(test_objects._RemoteTest,
+ _TestSecurityGroupObject):
+ pass
+
+
+fake_secgroups = [
+ dict(fake_secgroup, id=1, name='secgroup1'),
+ dict(fake_secgroup, id=2, name='secgroup2'),
+ ]
+
+
+class _TestSecurityGroupListObject(object):
+ def test_get_all(self):
+ ctxt = context.get_admin_context()
+ self.mox.StubOutWithMock(db, 'security_group_get_all')
+ db.security_group_get_all(ctxt).AndReturn(fake_secgroups)
+ self.mox.ReplayAll()
+ secgroup_list = security_group.SecurityGroupList.get_all(ctxt)
+ for i in range(len(fake_secgroups)):
+ self.assertTrue(isinstance(secgroup_list[i],
+ security_group.SecurityGroup))
+ self.assertEqual(fake_secgroups[i]['id'],
+ secgroup_list[i]['id'])
+ self.assertEqual(secgroup_list[i]._context, ctxt)
+
+ def test_get_by_project(self):
+ ctxt = context.get_admin_context()
+ self.mox.StubOutWithMock(db, 'security_group_get_by_project')
+ db.security_group_get_by_project(ctxt,
+ 'fake-project').AndReturn(
+ fake_secgroups)
+ self.mox.ReplayAll()
+ secgroup_list = security_group.SecurityGroupList.get_by_project(
+ ctxt, 'fake-project')
+ for i in range(len(fake_secgroups)):
+ self.assertTrue(isinstance(secgroup_list[i],
+ security_group.SecurityGroup))
+ self.assertEqual(fake_secgroups[i]['id'],
+ secgroup_list[i]['id'])
+
+ def test_get_by_instance(self):
+ ctxt = context.get_admin_context()
+
+ inst = instance.Instance()
+ inst.uuid = 'fake-inst-uuid'
+ self.mox.StubOutWithMock(db, 'security_group_get_by_instance')
+ db.security_group_get_by_instance(ctxt,
+ 'fake-inst-uuid').AndReturn(
+ fake_secgroups)
+ self.mox.ReplayAll()
+ secgroup_list = security_group.SecurityGroupList.get_by_instance(
+ ctxt, inst)
+ for i in range(len(fake_secgroups)):
+ self.assertTrue(isinstance(secgroup_list[i],
+ security_group.SecurityGroup))
+ self.assertEqual(fake_secgroups[i]['id'],
+ secgroup_list[i]['id'])
+
+
+class TestSecurityGroupListObject(test_objects._LocalTest,
+ _TestSecurityGroupListObject):
+ pass
+
+
+class TestSecurityGroupListObjectRemote(test_objects._RemoteTest,
+ _TestSecurityGroupListObject):
+ pass
diff --git a/nova/tests/scheduler/test_chance_scheduler.py b/nova/tests/scheduler/test_chance_scheduler.py
index cfe7f5d63..4e52464ec 100644
--- a/nova/tests/scheduler/test_chance_scheduler.py
+++ b/nova/tests/scheduler/test_chance_scheduler.py
@@ -68,15 +68,11 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase):
def test_basic_schedule_run_instance(self):
ctxt = context.RequestContext('fake', 'fake', False)
ctxt_elevated = 'fake-context-elevated'
- fake_args = (1, 2, 3)
instance_opts = {'fake_opt1': 'meow', 'launch_index': -1}
instance1 = {'uuid': 'fake-uuid1'}
instance2 = {'uuid': 'fake-uuid2'}
request_spec = {'instance_uuids': ['fake-uuid1', 'fake-uuid2'],
'instance_properties': instance_opts}
- instance1_encoded = {'uuid': 'fake-uuid1', '_is_precooked': False}
- instance2_encoded = {'uuid': 'fake-uuid2', '_is_precooked': False}
- reservations = ['resv1', 'resv2']
def inc_launch_index(*args):
request_spec['instance_properties']['launch_index'] = (
@@ -118,7 +114,6 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase):
def test_basic_schedule_run_instance_no_hosts(self):
ctxt = context.RequestContext('fake', 'fake', False)
ctxt_elevated = 'fake-context-elevated'
- fake_args = (1, 2, 3)
uuid = 'fake-uuid1'
instance_opts = {'fake_opt1': 'meow', 'launch_index': -1}
request_spec = {'instance_uuids': [uuid],
@@ -170,10 +165,7 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase):
def test_select_hosts(self):
ctxt = context.RequestContext('fake', 'fake', False)
ctxt_elevated = 'fake-context-elevated'
- fake_args = (1, 2, 3)
instance_opts = {'fake_opt1': 'meow', 'launch_index': -1}
- instance1 = {'uuid': 'fake-uuid1'}
- instance2 = {'uuid': 'fake-uuid2'}
request_spec = {'instance_uuids': ['fake-uuid1', 'fake-uuid2'],
'instance_properties': instance_opts}
@@ -205,3 +197,48 @@ class ChanceSchedulerTestCase(test_scheduler.SchedulerTestCase):
self.stubs.Set(self.driver, '_schedule', _return_no_host)
self.assertRaises(exception.NoValidHost,
self.driver.select_hosts, self.context, {}, {})
+
+ def test_select_destinations(self):
+ ctxt = context.RequestContext('fake', 'fake', False)
+ ctxt_elevated = 'fake-context-elevated'
+ request_spec = {'num_instances': 2}
+
+ self.mox.StubOutWithMock(ctxt, 'elevated')
+ self.mox.StubOutWithMock(self.driver, 'hosts_up')
+ self.mox.StubOutWithMock(random, 'choice')
+
+ hosts_full = ['host1', 'host2', 'host3', 'host4']
+
+ ctxt.elevated().AndReturn(ctxt_elevated)
+ self.driver.hosts_up(ctxt_elevated, 'compute').AndReturn(hosts_full)
+ random.choice(hosts_full).AndReturn('host3')
+
+ ctxt.elevated().AndReturn(ctxt_elevated)
+ self.driver.hosts_up(ctxt_elevated, 'compute').AndReturn(hosts_full)
+ random.choice(hosts_full).AndReturn('host2')
+
+ self.mox.ReplayAll()
+ dests = self.driver.select_destinations(ctxt, request_spec, {})
+ self.assertEquals(2, len(dests))
+ (host, node) = dests[0]
+ self.assertEquals('host3', host)
+ self.assertEquals(None, node)
+ (host, node) = dests[1]
+ self.assertEquals('host2', host)
+ self.assertEquals(None, node)
+
+ def test_select_destinations_no_valid_host(self):
+
+ def _return_no_host(*args, **kwargs):
+ return []
+
+ self.mox.StubOutWithMock(self.driver, 'hosts_up')
+ self.driver.hosts_up(mox.IgnoreArg(),
+ mox.IgnoreArg()).AndReturn([1, 2])
+ self.stubs.Set(self.driver, '_filter_hosts', _return_no_host)
+ self.mox.ReplayAll()
+
+ request_spec = {'num_instances': 1}
+ self.assertRaises(exception.NoValidHost,
+ self.driver.select_destinations, self.context,
+ request_spec, {})
diff --git a/nova/tests/scheduler/test_filter_scheduler.py b/nova/tests/scheduler/test_filter_scheduler.py
index d6cc7808e..1aeab0408 100644
--- a/nova/tests/scheduler/test_filter_scheduler.py
+++ b/nova/tests/scheduler/test_filter_scheduler.py
@@ -25,12 +25,10 @@ from nova.conductor import api as conductor_api
from nova import context
from nova import db
from nova import exception
-from nova.openstack.common import rpc
from nova.scheduler import driver
from nova.scheduler import filter_scheduler
from nova.scheduler import host_manager
from nova.scheduler import weights
-from nova import servicegroup
from nova.tests.scheduler import fakes
from nova.tests.scheduler import test_scheduler
@@ -393,143 +391,6 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase):
self.assertEqual([['host', 'node']],
filter_properties['retry']['hosts'])
- def test_live_migration_dest_check_service_memory_overcommit(self):
- instance = self._live_migration_instance()
-
- # Live-migration should work since default is to overcommit memory.
- self.mox.StubOutWithMock(self.driver, '_live_migration_src_check')
- self.mox.StubOutWithMock(db, 'service_get_by_compute_host')
- self.mox.StubOutWithMock(servicegroup.API, 'service_is_up')
- self.mox.StubOutWithMock(self.driver, '_get_compute_info')
- self.mox.StubOutWithMock(self.driver, '_live_migration_common_check')
- self.mox.StubOutWithMock(rpc, 'call')
- self.mox.StubOutWithMock(self.driver.compute_rpcapi, 'live_migration')
-
- dest = 'fake_host2'
- block_migration = False
- disk_over_commit = False
-
- self.driver._live_migration_src_check(self.context, instance)
- db.service_get_by_compute_host(self.context,
- dest).AndReturn('fake_service3')
- self.servicegroup_api.service_is_up('fake_service3').AndReturn(True)
-
- self.driver._get_compute_info(self.context, dest).AndReturn(
- {'memory_mb': 2048,
- 'free_disk_gb': 512,
- 'local_gb_used': 512,
- 'free_ram_mb': 512,
- 'local_gb': 1024,
- 'vcpus': 4,
- 'vcpus_used': 2,
- 'updated_at': None})
-
- self.driver._live_migration_common_check(self.context, instance, dest)
-
- rpc.call(self.context, "compute.fake_host2",
- {"method": 'check_can_live_migrate_destination',
- "namespace": None,
- "args": {'instance': instance,
- 'block_migration': block_migration,
- 'disk_over_commit': disk_over_commit},
- "version": compute_rpcapi.ComputeAPI.BASE_RPC_API_VERSION},
- None).AndReturn({})
-
- self.driver.compute_rpcapi.live_migration(self.context,
- host=instance['host'], instance=instance, dest=dest,
- block_migration=block_migration, migrate_data={})
-
- self.mox.ReplayAll()
- result = self.driver.schedule_live_migration(self.context,
- instance=instance, dest=dest,
- block_migration=block_migration,
- disk_over_commit=disk_over_commit)
- self.assertEqual(result, None)
-
- def test_live_migration_assert_memory_no_overcommit(self):
- # Test that memory check passes with no memory overcommit.
- def fake_get(context, host):
- return {'memory_mb': 2048,
- 'free_disk_gb': 512,
- 'local_gb_used': 512,
- 'free_ram_mb': 1024,
- 'local_gb': 1024,
- 'vcpus': 4,
- 'vcpus_used': 2,
- 'updated_at': None}
-
- self.stubs.Set(self.driver, '_get_compute_info', fake_get)
-
- self.flags(ram_allocation_ratio=1.0)
- instance = self._live_migration_instance()
- dest = 'fake_host2'
- result = self.driver._assert_compute_node_has_enough_memory(
- self.context, instance, dest)
- self.assertEqual(result, None)
-
- def test_live_migration_assert_memory_no_overcommit_lack_memory(self):
- # Test that memory check fails with no memory overcommit.
- def fake_get(context, host):
- return {'memory_mb': 2048,
- 'free_disk_gb': 512,
- 'local_gb_used': 512,
- 'free_ram_mb': 1023,
- 'local_gb': 1024,
- 'vcpus': 4,
- 'vcpus_used': 2,
- 'updated_at': None}
-
- self.stubs.Set(self.driver, '_get_compute_info', fake_get)
-
- self.flags(ram_allocation_ratio=1.0)
- instance = self._live_migration_instance()
- dest = 'fake_host2'
- self.assertRaises(exception.MigrationError,
- self.driver._assert_compute_node_has_enough_memory,
- context, instance, dest)
-
- def test_live_migration_assert_memory_overcommit(self):
- # Test that memory check passes with memory overcommit.
- def fake_get(context, host):
- return {'memory_mb': 2048,
- 'free_disk_gb': 512,
- 'local_gb_used': 512,
- 'free_ram_mb': -1024,
- 'local_gb': 1024,
- 'vcpus': 4,
- 'vcpus_used': 2,
- 'updated_at': None}
-
- self.stubs.Set(self.driver, '_get_compute_info', fake_get)
-
- self.flags(ram_allocation_ratio=2.0)
- instance = self._live_migration_instance()
- dest = 'fake_host2'
- result = self.driver._assert_compute_node_has_enough_memory(
- self.context, instance, dest)
- self.assertEqual(result, None)
-
- def test_live_migration_assert_memory_overcommit_lack_memory(self):
- # Test that memory check fails with memory overcommit.
- def fake_get(context, host):
- return {'memory_mb': 2048,
- 'free_disk_gb': 512,
- 'local_gb_used': 512,
- 'free_ram_mb': -1025,
- 'local_gb': 1024,
- 'vcpus': 4,
- 'vcpus_used': 2,
- 'updated_at': None}
-
- self.stubs.Set(self.driver, '_get_compute_info', fake_get)
-
- self.flags(ram_allocation_ratio=2.0)
- instance = self._live_migration_instance()
- dest = 'fake_host2'
- self.assertRaises(exception.MigrationError,
- self.driver._assert_compute_node_has_enough_memory,
- self.context, instance, dest)
-
def test_basic_schedule_run_instances_anti_affinity(self):
filter_properties = {'scheduler_hints':
{'group': 'cats'}}
@@ -748,3 +609,58 @@ class FilterSchedulerTestCase(test_scheduler.SchedulerTestCase):
self.stubs.Set(self.driver, '_schedule', _return_no_host)
self.assertRaises(exception.NoValidHost,
self.driver.select_hosts, self.context, {}, {})
+
+ def test_select_destinations(self):
+ """select_destinations is basically a wrapper around _schedule().
+
+ Similar to the _schedule tests, this just does a happy path test to
+ ensure there is nothing glaringly wrong.
+ """
+
+ self.next_weight = 1.0
+
+ selected_hosts = []
+ selected_nodes = []
+
+ def _fake_weigh_objects(_self, functions, hosts, options):
+ self.next_weight += 2.0
+ host_state = hosts[0]
+ selected_hosts.append(host_state.host)
+ selected_nodes.append(host_state.nodename)
+ return [weights.WeighedHost(host_state, self.next_weight)]
+
+ sched = fakes.FakeFilterScheduler()
+ fake_context = context.RequestContext('user', 'project',
+ is_admin=True)
+
+ self.stubs.Set(sched.host_manager, 'get_filtered_hosts',
+ fake_get_filtered_hosts)
+ self.stubs.Set(weights.HostWeightHandler,
+ 'get_weighed_objects', _fake_weigh_objects)
+ fakes.mox_host_manager_db_calls(self.mox, fake_context)
+
+ request_spec = {'instance_type': {'memory_mb': 512, 'root_gb': 512,
+ 'ephemeral_gb': 0,
+ 'vcpus': 1},
+ 'instance_properties': {'project_id': 1,
+ 'root_gb': 512,
+ 'memory_mb': 512,
+ 'ephemeral_gb': 0,
+ 'vcpus': 1,
+ 'os_type': 'Linux'},
+ 'num_instances': 1}
+ self.mox.ReplayAll()
+ dests = sched.select_destinations(fake_context, request_spec, {})
+ (host, node) = dests[0]
+ self.assertEquals(host, selected_hosts[0])
+ self.assertEquals(node, selected_nodes[0])
+
+ def test_select_destinations_no_valid_host(self):
+
+ def _return_no_host(*args, **kwargs):
+ return []
+
+ self.stubs.Set(self.driver, '_schedule', _return_no_host)
+ self.assertRaises(exception.NoValidHost,
+ self.driver.select_destinations, self.context,
+ {'num_instances': 1}, {})
diff --git a/nova/tests/scheduler/test_host_filters.py b/nova/tests/scheduler/test_host_filters.py
index b09e23f1d..8832f5c2b 100644
--- a/nova/tests/scheduler/test_host_filters.py
+++ b/nova/tests/scheduler/test_host_filters.py
@@ -316,9 +316,6 @@ class HostFiltersTestCase(test.NoDBTestCase):
def test_affinity_different_filter_handles_none(self):
filt_cls = self.class_map['DifferentHostFilter']()
host = fakes.FakeHostState('host1', 'node1', {})
- instance = fakes.FakeInstance(context=self.context,
- params={'host': 'host2'})
- instance_uuid = instance.uuid
filter_properties = {'context': self.context.elevated(),
'scheduler_hints': None}
@@ -381,9 +378,6 @@ class HostFiltersTestCase(test.NoDBTestCase):
def test_affinity_same_filter_handles_none(self):
filt_cls = self.class_map['SameHostFilter']()
host = fakes.FakeHostState('host1', 'node1', {})
- instance = fakes.FakeInstance(context=self.context,
- params={'host': 'host2'})
- instance_uuid = instance.uuid
filter_properties = {'context': self.context.elevated(),
'scheduler_hints': None}
@@ -542,6 +536,64 @@ class HostFiltersTestCase(test.NoDBTestCase):
self.assertTrue(filt_cls.host_passes(host, filter_properties))
self.assertEqual(2048 * 2.0, host.limits['memory_mb'])
+ def test_aggregate_ram_filter_value_error(self):
+ self._stub_service_is_up(True)
+ filt_cls = self.class_map['AggregateRamFilter']()
+ self.flags(ram_allocation_ratio=1.0)
+ filter_properties = {'context': self.context,
+ 'instance_type': {'memory_mb': 1024}}
+ capabilities = {'enabled': True}
+ service = {'disabled': False}
+ host = fakes.FakeHostState('host1', 'node1',
+ {'free_ram_mb': 1024, 'total_usable_ram_mb': 1024,
+ 'capabilities': capabilities, 'service': service})
+ self._create_aggregate_with_host(name='fake_aggregate',
+ hosts=['host1'],
+ metadata={'ram_allocation_ratio': 'XXX'})
+ self.assertTrue(filt_cls.host_passes(host, filter_properties))
+ self.assertEqual(1024 * 1.0, host.limits['memory_mb'])
+
+ def test_aggregate_ram_filter_default_value(self):
+ self._stub_service_is_up(True)
+ filt_cls = self.class_map['AggregateRamFilter']()
+ self.flags(ram_allocation_ratio=1.0)
+ filter_properties = {'context': self.context,
+ 'instance_type': {'memory_mb': 1024}}
+ capabilities = {'enabled': True}
+ service = {'disabled': False}
+ host = fakes.FakeHostState('host1', 'node1',
+ {'free_ram_mb': 1023, 'total_usable_ram_mb': 1024,
+ 'capabilities': capabilities, 'service': service})
+ # False: fallback to default flag w/o aggregates
+ self.assertFalse(filt_cls.host_passes(host, filter_properties))
+ self._create_aggregate_with_host(name='fake_aggregate',
+ hosts=['host1'],
+ metadata={'ram_allocation_ratio': '2.0'})
+ # True: use ratio from aggregates
+ self.assertTrue(filt_cls.host_passes(host, filter_properties))
+ self.assertEqual(1024 * 2.0, host.limits['memory_mb'])
+
+ def test_aggregate_ram_filter_conflict_values(self):
+ self._stub_service_is_up(True)
+ filt_cls = self.class_map['AggregateRamFilter']()
+ self.flags(ram_allocation_ratio=1.0)
+ filter_properties = {'context': self.context,
+ 'instance_type': {'memory_mb': 1024}}
+ capabilities = {'enabled': True}
+ service = {'disabled': False}
+ host = fakes.FakeHostState('host1', 'node1',
+ {'free_ram_mb': 1023, 'total_usable_ram_mb': 1024,
+ 'capabilities': capabilities, 'service': service})
+ self._create_aggregate_with_host(name='fake_aggregate1',
+ hosts=['host1'],
+ metadata={'ram_allocation_ratio': '1.5'})
+ self._create_aggregate_with_host(name='fake_aggregate2',
+ hosts=['host1'],
+ metadata={'ram_allocation_ratio': '2.0'})
+ # use the minimum ratio from aggregates
+ self.assertTrue(filt_cls.host_passes(host, filter_properties))
+ self.assertEqual(1024 * 1.5, host.limits['memory_mb'])
+
def test_disk_filter_passes(self):
self._stub_service_is_up(True)
filt_cls = self.class_map['DiskFilter']()
@@ -708,6 +760,9 @@ class HostFiltersTestCase(test.NoDBTestCase):
self.assertFalse(filt_cls.host_passes(host, filter_properties))
def _do_test_compute_filter_extra_specs(self, ecaps, especs, passes):
+ """In real Openstack runtime environment,compute capabilities
+ value may be number, so we should use number to do unit test.
+ """
self._stub_service_is_up(True)
filt_cls = self.class_map['ComputeCapabilitiesFilter']()
capabilities = {'enabled': True}
@@ -723,33 +778,33 @@ class HostFiltersTestCase(test.NoDBTestCase):
def test_compute_filter_passes_extra_specs_simple(self):
self._do_test_compute_filter_extra_specs(
- ecaps={'opt1': '1', 'opt2': '2'},
+ ecaps={'opt1': 1, 'opt2': 2},
especs={'opt1': '1', 'opt2': '2', 'trust:trusted_host': 'true'},
passes=True)
def test_compute_filter_fails_extra_specs_simple(self):
self._do_test_compute_filter_extra_specs(
- ecaps={'opt1': '1', 'opt2': '2'},
+ ecaps={'opt1': 1, 'opt2': 2},
especs={'opt1': '1', 'opt2': '222', 'trust:trusted_host': 'true'},
passes=False)
def test_compute_filter_pass_extra_specs_simple_with_scope(self):
self._do_test_compute_filter_extra_specs(
- ecaps={'opt1': '1', 'opt2': '2'},
+ ecaps={'opt1': 1, 'opt2': 2},
especs={'capabilities:opt1': '1',
'trust:trusted_host': 'true'},
passes=True)
def test_compute_filter_extra_specs_simple_with_wrong_scope(self):
self._do_test_compute_filter_extra_specs(
- ecaps={'opt1': '1', 'opt2': '2'},
+ ecaps={'opt1': 1, 'opt2': 2},
especs={'wrong_scope:opt1': '1',
'trust:trusted_host': 'true'},
passes=True)
def test_compute_filter_extra_specs_pass_multi_level_with_scope(self):
self._do_test_compute_filter_extra_specs(
- ecaps={'opt1': {'a': '1', 'b': {'aa': '2'}}, 'opt2': '2'},
+ ecaps={'opt1': {'a': 1, 'b': {'aa': 2}}, 'opt2': 2},
especs={'opt1:a': '1', 'capabilities:opt1:b:aa': '2',
'trust:trusted_host': 'true'},
passes=True)
@@ -950,7 +1005,6 @@ class HostFiltersTestCase(test.NoDBTestCase):
'local_gb': 200},
'scheduler_hints': {'query': json_query}}
capabilities = {'enabled': True}
- service = {'disabled': True}
host = fakes.FakeHostState('host1', 'node1',
{'free_ram_mb': 1024,
'free_disk_mb': 200 * 1024,
@@ -1314,6 +1368,52 @@ class HostFiltersTestCase(test.NoDBTestCase):
{'vcpus_total': 4, 'vcpus_used': 8})
self.assertFalse(filt_cls.host_passes(host, filter_properties))
+ def test_aggregate_core_filter_value_error(self):
+ filt_cls = self.class_map['AggregateCoreFilter']()
+ filter_properties = {'context': self.context,
+ 'instance_type': {'vcpus': 1}}
+ self.flags(cpu_allocation_ratio=2)
+ host = fakes.FakeHostState('host1', 'node1',
+ {'vcpus_total': 4, 'vcpus_used': 7})
+ self._create_aggregate_with_host(name='fake_aggregate',
+ hosts=['host1'],
+ metadata={'cpu_allocation_ratio': 'XXX'})
+ self.assertTrue(filt_cls.host_passes(host, filter_properties))
+ self.assertEqual(4 * 2, host.limits['vcpu'])
+
+ def test_aggregate_core_filter_default_value(self):
+ filt_cls = self.class_map['AggregateCoreFilter']()
+ filter_properties = {'context': self.context,
+ 'instance_type': {'vcpus': 1}}
+ self.flags(cpu_allocation_ratio=2)
+ host = fakes.FakeHostState('host1', 'node1',
+ {'vcpus_total': 4, 'vcpus_used': 8})
+ # False: fallback to default flag w/o aggregates
+ self.assertFalse(filt_cls.host_passes(host, filter_properties))
+ self._create_aggregate_with_host(name='fake_aggregate',
+ hosts=['host1'],
+ metadata={'cpu_allocation_ratio': '3'})
+ # True: use ratio from aggregates
+ self.assertTrue(filt_cls.host_passes(host, filter_properties))
+ self.assertEqual(4 * 3, host.limits['vcpu'])
+
+ def test_aggregate_core_filter_conflict_values(self):
+ filt_cls = self.class_map['AggregateCoreFilter']()
+ filter_properties = {'context': self.context,
+ 'instance_type': {'vcpus': 1}}
+ self.flags(cpu_allocation_ratio=1)
+ host = fakes.FakeHostState('host1', 'node1',
+ {'vcpus_total': 4, 'vcpus_used': 8})
+ self._create_aggregate_with_host(name='fake_aggregate1',
+ hosts=['host1'],
+ metadata={'cpu_allocation_ratio': '2'})
+ self._create_aggregate_with_host(name='fake_aggregate2',
+ hosts=['host1'],
+ metadata={'cpu_allocation_ratio': '3'})
+ # use the minimum ratio from aggregates
+ self.assertFalse(filt_cls.host_passes(host, filter_properties))
+ self.assertEqual(4 * 2, host.limits['vcpu'])
+
@staticmethod
def _make_zone_request(zone, is_admin=False):
ctxt = context.RequestContext('fake', 'fake', is_admin=is_admin)
@@ -1382,6 +1482,8 @@ class HostFiltersTestCase(test.NoDBTestCase):
filt_cls = self.class_map['IoOpsFilter']()
host = fakes.FakeHostState('host1', 'node1',
{'num_io_ops': 8})
+ filter_properties = {}
+ self.assertFalse(filt_cls.host_passes(host, filter_properties))
def test_filter_num_instances_passes(self):
self.flags(max_instances_per_host=5)
diff --git a/nova/tests/scheduler/test_rpcapi.py b/nova/tests/scheduler/test_rpcapi.py
index cecc55f20..7d61ecf97 100644
--- a/nova/tests/scheduler/test_rpcapi.py
+++ b/nova/tests/scheduler/test_rpcapi.py
@@ -86,3 +86,9 @@ class SchedulerRpcAPITestCase(test.NoDBTestCase):
request_spec='fake_request_spec',
filter_properties='fake_prop',
version='2.6')
+
+ def test_select_destinations(self):
+ self._test_scheduler_api('select_destinations', rpc_method='call',
+ request_spec='fake_request_spec',
+ filter_properties='fake_prop',
+ version='2.7')
diff --git a/nova/tests/scheduler/test_scheduler.py b/nova/tests/scheduler/test_scheduler.py
index 0574f6d2e..e2778a94b 100644
--- a/nova/tests/scheduler/test_scheduler.py
+++ b/nova/tests/scheduler/test_scheduler.py
@@ -22,20 +22,16 @@ Tests For Scheduler
import mox
from nova.compute import api as compute_api
-from nova.compute import flavors
-from nova.compute import power_state
-from nova.compute import rpcapi as compute_rpcapi
from nova.compute import task_states
from nova.compute import utils as compute_utils
from nova.compute import vm_states
from nova.conductor import api as conductor_api
+from nova.conductor.tasks import live_migrate
from nova import context
from nova import db
from nova import exception
from nova.image import glance
-from nova.openstack.common import jsonutils
from nova.openstack.common.notifier import api as notifier
-from nova.openstack.common import rpc
from nova.openstack.common.rpc import common as rpc_common
from nova.scheduler import driver
from nova.scheduler import manager
@@ -45,7 +41,6 @@ from nova.tests import fake_instance_actions
from nova.tests.image import fake as fake_image
from nova.tests import matchers
from nova.tests.scheduler import fakes
-from nova import utils
class SchedulerManagerTestCase(test.NoDBTestCase):
@@ -88,7 +83,7 @@ class SchedulerManagerTestCase(test.NoDBTestCase):
self.manager.driver.update_service_capabilities(service_name,
host, {})
self.mox.ReplayAll()
- result = self.manager.update_service_capabilities(self.context,
+ self.manager.update_service_capabilities(self.context,
service_name=service_name, host=host, capabilities={})
self.mox.VerifyAll()
@@ -98,7 +93,7 @@ class SchedulerManagerTestCase(test.NoDBTestCase):
self.manager.driver.update_service_capabilities(
service_name, host, capabilities)
self.mox.ReplayAll()
- result = self.manager.update_service_capabilities(self.context,
+ self.manager.update_service_capabilities(self.context,
service_name=service_name, host=host,
capabilities=capabilities)
@@ -220,11 +215,11 @@ class SchedulerManagerTestCase(test.NoDBTestCase):
block_migration = False
disk_over_commit = False
- self._mox_schedule_method_helper('schedule_live_migration')
+ self.mox.StubOutWithMock(self.manager, '_schedule_live_migration')
self.mox.StubOutWithMock(compute_utils, 'add_instance_fault_from_exc')
self.mox.StubOutWithMock(db, 'instance_update_and_get_original')
- self.manager.driver.schedule_live_migration(self.context,
+ self.manager._schedule_live_migration(self.context,
inst, dest, block_migration, disk_over_commit).AndRaise(
exception.NoValidHost(reason=""))
db.instance_update_and_get_original(self.context, inst["uuid"],
@@ -253,11 +248,11 @@ class SchedulerManagerTestCase(test.NoDBTestCase):
block_migration = False
disk_over_commit = False
- self._mox_schedule_method_helper('schedule_live_migration')
+ self.mox.StubOutWithMock(self.manager, '_schedule_live_migration')
self.mox.StubOutWithMock(compute_utils, 'add_instance_fault_from_exc')
self.mox.StubOutWithMock(db, 'instance_update_and_get_original')
- self.manager.driver.schedule_live_migration(self.context,
+ self.manager._schedule_live_migration(self.context,
inst, dest, block_migration, disk_over_commit).AndRaise(
exception.ComputeServiceUnavailable(host="src"))
db.instance_update_and_get_original(self.context, inst["uuid"],
@@ -277,6 +272,17 @@ class SchedulerManagerTestCase(test.NoDBTestCase):
self.context, inst, dest, block_migration,
disk_over_commit)
+ def test_live_migrate(self):
+ instance = {'host': 'h'}
+ self.mox.StubOutClassWithMocks(live_migrate, "LiveMigrationTask")
+ task = live_migrate.LiveMigrationTask(self.context, instance,
+ "dest", "bm", "doc", self.manager.driver.select_hosts)
+ task.execute()
+
+ self.mox.ReplayAll()
+ self.manager.live_migration(self.context, instance, "dest",
+ "bm", "doc")
+
def test_live_migration_set_vmstate_error(self):
inst = {"uuid": "fake-instance-id",
"vm_state": vm_states.ACTIVE, }
@@ -285,11 +291,11 @@ class SchedulerManagerTestCase(test.NoDBTestCase):
block_migration = False
disk_over_commit = False
- self._mox_schedule_method_helper('schedule_live_migration')
+ self.mox.StubOutWithMock(self.manager, '_schedule_live_migration')
self.mox.StubOutWithMock(compute_utils, 'add_instance_fault_from_exc')
self.mox.StubOutWithMock(db, 'instance_update_and_get_original')
- self.manager.driver.schedule_live_migration(self.context,
+ self.manager._schedule_live_migration(self.context,
inst, dest, block_migration, disk_over_commit).AndRaise(
ValueError)
db.instance_update_and_get_original(self.context, inst["uuid"],
@@ -402,6 +408,17 @@ class SchedulerManagerTestCase(test.NoDBTestCase):
self.manager._set_vm_state_and_notify('foo', {'vm_state': 'foo'},
self.context, None, request)
+ def test_select_hosts_throws_rpc_clientexception(self):
+ self.mox.StubOutWithMock(self.manager.driver, 'select_hosts')
+
+ self.manager.driver.select_hosts(self.context, {}, {}).AndRaise(
+ exception.NoValidHost(reason=""))
+
+ self.mox.ReplayAll()
+ self.assertRaises(rpc_common.ClientException,
+ self.manager.select_hosts,
+ self.context, {}, {})
+
class SchedulerTestCase(test.NoDBTestCase):
"""Test case for base scheduler driver class."""
@@ -444,7 +461,7 @@ class SchedulerTestCase(test.NoDBTestCase):
self.driver.host_manager.update_service_capabilities(
service_name, host, capabilities)
self.mox.ReplayAll()
- result = self.driver.update_service_capabilities(service_name,
+ self.driver.update_service_capabilities(service_name,
host, capabilities)
def test_hosts_up(self):
@@ -464,482 +481,6 @@ class SchedulerTestCase(test.NoDBTestCase):
result = self.driver.hosts_up(self.context, self.topic)
self.assertEqual(result, ['host2'])
- def _live_migration_instance(self):
- inst_type = {'memory_mb': 1024, 'root_gb': 40, 'deleted_at': None,
- 'name': u'm1.medium', 'deleted': 0, 'created_at': None,
- 'ephemeral_gb': 0, 'updated_at': None, 'disabled': False,
- 'vcpus': 2, 'extra_specs': {}, 'swap': 0,
- 'rxtx_factor': 1.0, 'is_public': True, 'flavorid': u'3',
- 'vcpu_weight': None, 'id': 1}
-
- sys_meta = utils.dict_to_metadata(
- flavors.save_flavor_info({}, inst_type))
- return {'id': 31337,
- 'uuid': 'fake_uuid',
- 'name': 'fake-instance',
- 'host': 'fake_host1',
- 'power_state': power_state.RUNNING,
- 'memory_mb': 1024,
- 'root_gb': 1024,
- 'ephemeral_gb': 0,
- 'vm_state': '',
- 'task_state': '',
- 'instance_type_id': inst_type['id'],
- 'image_ref': 'fake-image-ref',
- 'system_metadata': sys_meta}
-
- def test_live_migration_basic(self):
- # Test basic schedule_live_migration functionality.
- self.mox.StubOutWithMock(self.driver, '_live_migration_src_check')
- self.mox.StubOutWithMock(self.driver, '_live_migration_dest_check')
- self.mox.StubOutWithMock(self.driver, '_live_migration_common_check')
- self.mox.StubOutWithMock(self.driver.compute_rpcapi,
- 'check_can_live_migrate_destination')
- self.mox.StubOutWithMock(self.driver.compute_rpcapi,
- 'live_migration')
-
- dest = 'fake_host2'
- block_migration = False
- disk_over_commit = False
- instance = jsonutils.to_primitive(self._live_migration_instance())
-
- self.driver._live_migration_src_check(self.context, instance)
- self.driver._live_migration_dest_check(self.context, instance,
- dest).AndReturn(dest)
- self.driver._live_migration_common_check(self.context, instance,
- dest)
- self.driver.compute_rpcapi.check_can_live_migrate_destination(
- self.context, instance, dest, block_migration,
- disk_over_commit).AndReturn({})
- self.driver.compute_rpcapi.live_migration(self.context,
- host=instance['host'], instance=instance, dest=dest,
- block_migration=block_migration, migrate_data={})
-
- self.mox.ReplayAll()
- self.driver.schedule_live_migration(self.context,
- instance=instance, dest=dest,
- block_migration=block_migration,
- disk_over_commit=disk_over_commit)
-
- def test_live_migration_all_checks_pass(self):
- # Test live migration when all checks pass.
-
- self.mox.StubOutWithMock(servicegroup.API, 'service_is_up')
- self.mox.StubOutWithMock(db, 'service_get_by_compute_host')
- self.mox.StubOutWithMock(rpc, 'call')
- self.mox.StubOutWithMock(self.driver.compute_rpcapi,
- 'live_migration')
-
- dest = 'fake_host2'
- block_migration = True
- disk_over_commit = True
- instance = jsonutils.to_primitive(self._live_migration_instance())
-
- # Source checks
- db.service_get_by_compute_host(self.context,
- instance['host']).AndReturn('fake_service2')
- self.servicegroup_api.service_is_up('fake_service2').AndReturn(True)
-
- # Destination checks (compute is up, enough memory, disk)
- db.service_get_by_compute_host(self.context,
- dest).AndReturn('fake_service3')
- self.servicegroup_api.service_is_up('fake_service3').AndReturn(True)
- # assert_compute_node_has_enough_memory()
- db.service_get_by_compute_host(self.context, dest).AndReturn(
- {'compute_node': [{'memory_mb': 2048,
- 'free_disk_gb': 512,
- 'local_gb_used': 512,
- 'free_ram_mb': 1280,
- 'local_gb': 1024,
- 'vcpus': 4,
- 'vcpus_used': 2,
- 'updated_at': None,
- 'hypervisor_version': 1}]})
-
- # Common checks (same hypervisor, etc)
- db.service_get_by_compute_host(self.context, dest).AndReturn(
- {'compute_node': [{'hypervisor_type': 'xen',
- 'hypervisor_version': 1}]})
- db.service_get_by_compute_host(self.context,
- instance['host']).AndReturn(
- {'compute_node': [{'hypervisor_type': 'xen',
- 'hypervisor_version': 1,
- 'cpu_info': 'fake_cpu_info'}]})
-
- rpc.call(self.context, "compute.fake_host2",
- {"method": 'check_can_live_migrate_destination',
- "namespace": None,
- "args": {'instance': instance,
- 'block_migration': block_migration,
- 'disk_over_commit': disk_over_commit},
- "version": compute_rpcapi.ComputeAPI.BASE_RPC_API_VERSION},
- None).AndReturn({})
-
- self.driver.compute_rpcapi.live_migration(self.context,
- host=instance['host'], instance=instance, dest=dest,
- block_migration=block_migration, migrate_data={})
-
- self.mox.ReplayAll()
- result = self.driver.schedule_live_migration(self.context,
- instance=instance, dest=dest,
- block_migration=block_migration,
- disk_over_commit=disk_over_commit)
- self.assertEqual(result, None)
-
- def test_live_migration_instance_not_running(self):
- # The instance given by instance_id is not running.
-
- dest = 'fake_host2'
- block_migration = False
- disk_over_commit = False
- instance = self._live_migration_instance()
- instance['power_state'] = power_state.NOSTATE
-
- self.assertRaises(exception.InstanceNotRunning,
- self.driver.schedule_live_migration, self.context,
- instance=instance, dest=dest,
- block_migration=block_migration,
- disk_over_commit=disk_over_commit)
-
- def test_live_migration_compute_src_not_exist(self):
- # Raise exception when src compute node is does not exist.
-
- self.mox.StubOutWithMock(servicegroup.API, 'service_is_up')
- self.mox.StubOutWithMock(db, 'service_get_by_compute_host')
-
- dest = 'fake_host2'
- block_migration = False
- disk_over_commit = False
- instance = self._live_migration_instance()
-
- # Compute down
- db.service_get_by_compute_host(self.context,
- instance['host']).AndRaise(
- exception.ComputeHostNotFound(host='fake'))
-
- self.mox.ReplayAll()
- self.assertRaises(exception.ComputeServiceUnavailable,
- self.driver.schedule_live_migration, self.context,
- instance=instance, dest=dest,
- block_migration=block_migration,
- disk_over_commit=disk_over_commit)
-
- def test_live_migration_compute_src_not_alive(self):
- # Raise exception when src compute node is not alive.
-
- self.mox.StubOutWithMock(servicegroup.API, 'service_is_up')
- self.mox.StubOutWithMock(db, 'service_get_by_compute_host')
-
- dest = 'fake_host2'
- block_migration = False
- disk_over_commit = False
- instance = self._live_migration_instance()
-
- # Compute down
- db.service_get_by_compute_host(self.context,
- instance['host']).AndReturn('fake_service2')
- self.servicegroup_api.service_is_up('fake_service2').AndReturn(False)
-
- self.mox.ReplayAll()
- self.assertRaises(exception.ComputeServiceUnavailable,
- self.driver.schedule_live_migration, self.context,
- instance=instance, dest=dest,
- block_migration=block_migration,
- disk_over_commit=disk_over_commit)
-
- def test_live_migration_compute_dest_not_exist(self):
- # Raise exception when dest compute node does not exist.
-
- self.mox.StubOutWithMock(self.driver, '_live_migration_src_check')
- self.mox.StubOutWithMock(db, 'service_get_by_compute_host')
-
- dest = 'fake_host2'
- block_migration = False
- disk_over_commit = False
- instance = self._live_migration_instance()
-
- self.driver._live_migration_src_check(self.context, instance)
- # Compute down
- db.service_get_by_compute_host(self.context,
- dest).AndRaise(exception.NotFound())
-
- self.mox.ReplayAll()
- self.assertRaises(exception.ComputeServiceUnavailable,
- self.driver.schedule_live_migration, self.context,
- instance=instance, dest=dest,
- block_migration=block_migration,
- disk_over_commit=disk_over_commit)
-
- def test_live_migration_compute_dest_not_alive(self):
- # Raise exception when dest compute node is not alive.
-
- self.mox.StubOutWithMock(self.driver, '_live_migration_src_check')
- self.mox.StubOutWithMock(db, 'service_get_by_compute_host')
- self.mox.StubOutWithMock(servicegroup.API, 'service_is_up')
-
- dest = 'fake_host2'
- block_migration = False
- disk_over_commit = False
- instance = self._live_migration_instance()
-
- self.driver._live_migration_src_check(self.context, instance)
- db.service_get_by_compute_host(self.context,
- dest).AndReturn('fake_service3')
- # Compute is down
- self.servicegroup_api.service_is_up('fake_service3').AndReturn(False)
-
- self.mox.ReplayAll()
- self.assertRaises(exception.ComputeServiceUnavailable,
- self.driver.schedule_live_migration, self.context,
- instance=instance, dest=dest,
- block_migration=block_migration,
- disk_over_commit=disk_over_commit)
-
- def test_live_migration_dest_check_service_same_host(self):
- # Confirms exception raises in case dest and src is same host.
-
- self.mox.StubOutWithMock(self.driver, '_live_migration_src_check')
- block_migration = False
- instance = self._live_migration_instance()
- # make dest same as src
- dest = instance['host']
-
- self.driver._live_migration_src_check(self.context, instance)
-
- self.mox.ReplayAll()
- self.assertRaises(exception.UnableToMigrateToSelf,
- self.driver.schedule_live_migration, self.context,
- instance=instance, dest=dest,
- block_migration=block_migration,
- disk_over_commit=False)
-
- def test_live_migration_dest_check_service_lack_memory(self):
- # Confirms exception raises when dest doesn't have enough memory.
-
- # Flag needed to make FilterScheduler test hit memory limit since the
- # default for it is to allow memory overcommit by a factor of 1.5.
- self.flags(ram_allocation_ratio=1.0)
-
- self.mox.StubOutWithMock(self.driver, '_live_migration_src_check')
- self.mox.StubOutWithMock(db, 'service_get_by_compute_host')
- self.mox.StubOutWithMock(servicegroup.API, 'service_is_up')
- self.mox.StubOutWithMock(self.driver, '_get_compute_info')
-
- dest = 'fake_host2'
- block_migration = False
- disk_over_commit = False
- instance = self._live_migration_instance()
-
- self.driver._live_migration_src_check(self.context, instance)
- db.service_get_by_compute_host(self.context,
- dest).AndReturn('fake_service3')
- self.servicegroup_api.service_is_up('fake_service3').AndReturn(True)
-
- self.driver._get_compute_info(self.context, dest).AndReturn(
- {'memory_mb': 2048,
- 'free_disk_gb': 512,
- 'local_gb_used': 512,
- 'free_ram_mb': 512,
- 'local_gb': 1024,
- 'vcpus': 4,
- 'vcpus_used': 2,
- 'updated_at': None})
-
- self.mox.ReplayAll()
- self.assertRaises(exception.MigrationError,
- self.driver.schedule_live_migration, self.context,
- instance=instance, dest=dest,
- block_migration=block_migration,
- disk_over_commit=disk_over_commit)
-
- def test_live_migration_different_hypervisor_type_raises(self):
- # Confirm live_migration to hypervisor of different type raises.
- self.mox.StubOutWithMock(self.driver, '_live_migration_src_check')
- self.mox.StubOutWithMock(self.driver, '_live_migration_dest_check')
- self.mox.StubOutWithMock(rpc, 'queue_get_for')
- self.mox.StubOutWithMock(rpc, 'call')
- self.mox.StubOutWithMock(rpc, 'cast')
- self.mox.StubOutWithMock(db, 'service_get_by_compute_host')
-
- dest = 'fake_host2'
- block_migration = False
- disk_over_commit = False
- instance = self._live_migration_instance()
-
- self.driver._live_migration_src_check(self.context, instance)
- self.driver._live_migration_dest_check(self.context, instance,
- dest).AndReturn(dest)
-
- db.service_get_by_compute_host(self.context, dest).AndReturn(
- {'compute_node': [{'hypervisor_type': 'xen',
- 'hypervisor_version': 1}]})
- db.service_get_by_compute_host(self.context,
- instance['host']).AndReturn(
- {'compute_node': [{'hypervisor_type': 'not-xen',
- 'hypervisor_version': 1}]})
-
- self.mox.ReplayAll()
- self.assertRaises(exception.InvalidHypervisorType,
- self.driver.schedule_live_migration, self.context,
- instance=instance, dest=dest,
- block_migration=block_migration,
- disk_over_commit=disk_over_commit)
-
- def test_live_migration_dest_hypervisor_version_older_raises(self):
- # Confirm live migration to older hypervisor raises.
- self.mox.StubOutWithMock(self.driver, '_live_migration_src_check')
- self.mox.StubOutWithMock(self.driver, '_live_migration_dest_check')
- self.mox.StubOutWithMock(rpc, 'queue_get_for')
- self.mox.StubOutWithMock(rpc, 'call')
- self.mox.StubOutWithMock(rpc, 'cast')
- self.mox.StubOutWithMock(db, 'service_get_by_compute_host')
-
- dest = 'fake_host2'
- block_migration = False
- disk_over_commit = False
- instance = self._live_migration_instance()
-
- self.driver._live_migration_src_check(self.context, instance)
- self.driver._live_migration_dest_check(self.context, instance,
- dest).AndReturn(dest)
-
- db.service_get_by_compute_host(self.context, dest).AndReturn(
- {'compute_node': [{'hypervisor_type': 'xen',
- 'hypervisor_version': 1}]})
- db.service_get_by_compute_host(self.context,
- instance['host']).AndReturn(
- {'compute_node': [{'hypervisor_type': 'xen',
- 'hypervisor_version': 2}]})
- self.mox.ReplayAll()
- self.assertRaises(exception.DestinationHypervisorTooOld,
- self.driver.schedule_live_migration, self.context,
- instance=instance, dest=dest,
- block_migration=block_migration,
- disk_over_commit=disk_over_commit)
-
- def test_live_migration_dest_check_auto_set_host(self):
- instance = self._live_migration_instance()
-
- # Confirm dest is picked by scheduler if not set.
- self.mox.StubOutWithMock(self.driver, 'select_hosts')
- self.mox.StubOutWithMock(flavors, 'extract_flavor')
-
- request_spec = {'instance_properties': instance,
- 'instance_type': {},
- 'instance_uuids': [instance['uuid']],
- 'image': self.image_service.show(self.context,
- instance['image_ref'])
- }
- ignore_hosts = [instance['host']]
- filter_properties = {'ignore_hosts': ignore_hosts}
-
- flavors.extract_flavor(instance).AndReturn({})
- self.driver.select_hosts(self.context, request_spec,
- filter_properties).AndReturn(['fake_host2'])
-
- self.mox.ReplayAll()
- result = self.driver._live_migration_dest_check(self.context, instance,
- None, ignore_hosts)
- self.assertEqual('fake_host2', result)
-
- def test_live_migration_dest_check_no_image(self):
- instance = self._live_migration_instance()
- instance['image_ref'] = ''
-
- # Confirm dest is picked by scheduler if not set.
- self.mox.StubOutWithMock(self.driver, 'select_hosts')
- self.mox.StubOutWithMock(flavors, 'extract_flavor')
-
- request_spec = {'instance_properties': instance,
- 'instance_type': {},
- 'instance_uuids': [instance['uuid']],
- 'image': None
- }
- ignore_hosts = [instance['host']]
- filter_properties = {'ignore_hosts': ignore_hosts}
-
- flavors.extract_flavor(instance).AndReturn({})
- self.driver.select_hosts(self.context, request_spec,
- filter_properties).AndReturn(['fake_host2'])
-
- self.mox.ReplayAll()
- result = self.driver._live_migration_dest_check(self.context, instance,
- None, ignore_hosts)
- self.assertEqual('fake_host2', result)
-
- def test_live_migration_auto_set_dest(self):
- instance = self._live_migration_instance()
-
- # Confirm scheduler picks target host if none given.
- self.mox.StubOutWithMock(flavors, 'extract_flavor')
- self.mox.StubOutWithMock(self.driver, '_live_migration_src_check')
- self.mox.StubOutWithMock(self.driver, 'select_hosts')
- self.mox.StubOutWithMock(self.driver, '_live_migration_common_check')
- self.mox.StubOutWithMock(rpc, 'call')
- self.mox.StubOutWithMock(self.driver.compute_rpcapi, 'live_migration')
-
- dest = None
- block_migration = False
- disk_over_commit = False
- request_spec = {'instance_properties': instance,
- 'instance_type': {},
- 'instance_uuids': [instance['uuid']],
- 'image': self.image_service.show(self.context,
- instance['image_ref'])
- }
-
- self.driver._live_migration_src_check(self.context, instance)
-
- flavors.extract_flavor(
- instance).MultipleTimes().AndReturn({})
-
- # First selected host raises exception.InvalidHypervisorType
- self.driver.select_hosts(self.context, request_spec,
- {'ignore_hosts': [instance['host']]}).AndReturn(['fake_host2'])
- self.driver._live_migration_common_check(self.context, instance,
- 'fake_host2').AndRaise(exception.InvalidHypervisorType())
-
- # Second selected host raises exception.InvalidCPUInfo
- self.driver.select_hosts(self.context, request_spec,
- {'ignore_hosts': [instance['host'],
- 'fake_host2']}).AndReturn(['fake_host3'])
- self.driver._live_migration_common_check(self.context, instance,
- 'fake_host3')
- rpc.call(self.context, "compute.fake_host3",
- {"method": 'check_can_live_migrate_destination',
- "namespace": None,
- "args": {'instance': instance,
- 'block_migration': block_migration,
- 'disk_over_commit': disk_over_commit},
- "version": compute_rpcapi.ComputeAPI.BASE_RPC_API_VERSION},
- None).AndRaise(exception.InvalidCPUInfo(reason=""))
-
- # Third selected host pass all checks
- self.driver.select_hosts(self.context, request_spec,
- {'ignore_hosts': [instance['host'],
- 'fake_host2',
- 'fake_host3']}).AndReturn(['fake_host4'])
- self.driver._live_migration_common_check(self.context, instance,
- 'fake_host4')
- rpc.call(self.context, "compute.fake_host4",
- {"method": 'check_can_live_migrate_destination',
- "namespace": None,
- "args": {'instance': instance,
- 'block_migration': block_migration,
- 'disk_over_commit': disk_over_commit},
- "version": compute_rpcapi.ComputeAPI.BASE_RPC_API_VERSION},
- None).AndReturn({})
- self.driver.compute_rpcapi.live_migration(self.context,
- host=instance['host'], instance=instance, dest='fake_host4',
- block_migration=block_migration, migrate_data={})
-
- self.mox.ReplayAll()
- result = self.driver.schedule_live_migration(self.context,
- instance=instance, dest=dest,
- block_migration=block_migration,
- disk_over_commit=disk_over_commit)
- self.assertEqual(result, None)
-
def test_handle_schedule_error_adds_instance_fault(self):
instance = {'uuid': 'fake-uuid'}
self.mox.StubOutWithMock(db, 'instance_update_and_get_original')
@@ -961,12 +502,10 @@ class SchedulerTestCase(test.NoDBTestCase):
class SchedulerDriverBaseTestCase(SchedulerTestCase):
"""Test cases for base scheduler driver class methods
- that can't will fail if the driver is changed.
+ that will fail if the driver is changed.
"""
def test_unimplemented_schedule_run_instance(self):
- fake_args = (1, 2, 3)
- fake_kwargs = {'cat': 'meow'}
fake_request_spec = {'instance_properties':
{'uuid': 'uuid'}}
@@ -976,8 +515,6 @@ class SchedulerDriverBaseTestCase(SchedulerTestCase):
None, None)
def test_unimplemented_schedule_prep_resize(self):
- fake_args = (1, 2, 3)
- fake_kwargs = {'cat': 'meow'}
fake_request_spec = {'instance_properties':
{'uuid': 'uuid'}}
@@ -990,6 +527,10 @@ class SchedulerDriverBaseTestCase(SchedulerTestCase):
self.assertRaises(NotImplementedError,
self.driver.select_hosts, self.context, {}, {})
+ def test_unimplemented_select_destinations(self):
+ self.assertRaises(NotImplementedError,
+ self.driver.select_destinations, self.context, {}, {})
+
class SchedulerDriverModuleTestCase(test.NoDBTestCase):
"""Test case for scheduler driver module methods."""
diff --git a/nova/tests/scheduler/test_scheduler_options.py b/nova/tests/scheduler/test_scheduler_options.py
index 6ab245ef9..eb7ccfeec 100644
--- a/nova/tests/scheduler/test_scheduler_options.py
+++ b/nova/tests/scheduler/test_scheduler_options.py
@@ -71,7 +71,6 @@ class SchedulerOptionsTestCase(test.NoDBTestCase):
file_old = None
file_now = datetime.datetime(2012, 1, 1, 1, 1, 1)
- data = dict(a=1, b=2, c=3)
jdata = ""
fake = FakeSchedulerOptions(last_checked, now, file_old, file_now,
diff --git a/nova/tests/servicegroup/test_mc_servicegroup.py b/nova/tests/servicegroup/test_mc_servicegroup.py
index 9d5601ff8..9f27ecc31 100644
--- a/nova/tests/servicegroup/test_mc_servicegroup.py
+++ b/nova/tests/servicegroup/test_mc_servicegroup.py
@@ -103,15 +103,9 @@ class MemcachedServiceGroupTestCase(test.TestCase):
ServiceFixture(host3, self._binary, self._topic)).serv
serv3.start()
- service_ref1 = db.service_get_by_args(self._ctx,
- host1,
- self._binary)
- service_ref2 = db.service_get_by_args(self._ctx,
- host2,
- self._binary)
- service_ref3 = db.service_get_by_args(self._ctx,
- host3,
- self._binary)
+ db.service_get_by_args(self._ctx, host1, self._binary)
+ db.service_get_by_args(self._ctx, host2, self._binary)
+ db.service_get_by_args(self._ctx, host3, self._binary)
host1key = str("%s:%s" % (self._topic, host1))
host2key = str("%s:%s" % (self._topic, host2))
@@ -198,9 +192,7 @@ class MemcachedServiceGroupTestCase(test.TestCase):
serv = self.useFixture(
ServiceFixture(self._host, self._binary, self._topic)).serv
serv.start()
- service_ref = db.service_get_by_args(self._ctx,
- self._host,
- self._binary)
+ db.service_get_by_args(self._ctx, self._host, self._binary)
self.servicegroup_api = servicegroup.API()
# updating model_disconnected
diff --git a/nova/tests/servicegroup/test_zk_driver.py b/nova/tests/servicegroup/test_zk_driver.py
index eb6ddd4bf..716f62e4e 100644
--- a/nova/tests/servicegroup/test_zk_driver.py
+++ b/nova/tests/servicegroup/test_zk_driver.py
@@ -40,7 +40,7 @@ class ZKServiceGroupTestCase(test.TestCase):
self.flags(servicegroup_driver='zk')
self.flags(address='localhost:2181', group="zookeeper")
try:
- _unused = zk.ZooKeeperDriver()
+ zk.ZooKeeperDriver()
except ImportError:
self.skipTest("Unable to test due to lack of ZooKeeper")
diff --git a/nova/tests/test_availability_zones.py b/nova/tests/test_availability_zones.py
index 3923dd9a1..0c58cd08a 100644
--- a/nova/tests/test_availability_zones.py
+++ b/nova/tests/test_availability_zones.py
@@ -179,8 +179,8 @@ class AvailabilityZoneTestCases(test.TestCase):
disabled=False)
service4 = self._create_service_with_topic('compute', 'host4',
disabled=True)
- service5 = self._create_service_with_topic('compute', 'host5',
- disabled=True)
+ self._create_service_with_topic('compute', 'host5',
+ disabled=True)
self._add_to_aggregate(service1, self.agg)
self._add_to_aggregate(service2, self.agg)
diff --git a/nova/tests/test_cinder.py b/nova/tests/test_cinder.py
index e8dff9a4a..eefc1bab6 100644
--- a/nova/tests/test_cinder.py
+++ b/nova/tests/test_cinder.py
@@ -14,7 +14,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-import httplib2
import urlparse
from cinderclient import exceptions as cinder_exception
@@ -76,9 +75,9 @@ class FakeHTTPClient(cinder.cinder_client.client.HTTPClient):
status, body = getattr(self, callback)(**kwargs)
if hasattr(status, 'items'):
- return httplib2.Response(status), body
+ return status, body
else:
- return httplib2.Response({"status": status}), body
+ return {"status": status}, body
def get_volumes_1234(self, **kw):
volume = {'volume': _stub_volume(id='1234')}
@@ -154,7 +153,7 @@ class CinderTestCase(test.TestCase):
self.fake_client_factory.assert_called(*args, **kwargs)
def test_context_with_catalog(self):
- volume = self.api.get(self.context, '1234')
+ self.api.get(self.context, '1234')
self.assert_called('GET', '/volumes/1234')
self.assertEquals(
self.fake_client_factory.client.client.management_url,
@@ -164,7 +163,7 @@ class CinderTestCase(test.TestCase):
self.flags(
cinder_endpoint_template='http://other_host:8776/v1/%(project_id)s'
)
- volume = self.api.get(self.context, '1234')
+ self.api.get(self.context, '1234')
self.assert_called('GET', '/volumes/1234')
self.assertEquals(
self.fake_client_factory.client.client.management_url,
@@ -184,7 +183,7 @@ class CinderTestCase(test.TestCase):
# The True/False negation is awkward, but better for the client
# to pass us insecure=True and we check verify_cert == False
self.flags(cinder_api_insecure=True)
- volume = self.api.get(self.context, '1234')
+ self.api.get(self.context, '1234')
self.assert_called('GET', '/volumes/1234')
self.assertEquals(
self.fake_client_factory.client.client.verify_cert, False)
@@ -192,7 +191,7 @@ class CinderTestCase(test.TestCase):
def test_cinder_api_cacert_file(self):
cacert = "/etc/ssl/certs/ca-certificates.crt"
self.flags(cinder_ca_certificates_file=cacert)
- volume = self.api.get(self.context, '1234')
+ self.api.get(self.context, '1234')
self.assert_called('GET', '/volumes/1234')
self.assertEquals(
self.fake_client_factory.client.client.verify_cert, cacert)
@@ -200,7 +199,7 @@ class CinderTestCase(test.TestCase):
def test_cinder_http_retries(self):
retries = 42
self.flags(cinder_http_retries=retries)
- volume = self.api.get(self.context, '1234')
+ self.api.get(self.context, '1234')
self.assert_called('GET', '/volumes/1234')
self.assertEquals(
self.fake_client_factory.client.client.retries, retries)
diff --git a/nova/tests/test_flavors.py b/nova/tests/test_flavors.py
index bd3f805cd..6edbddb21 100644
--- a/nova/tests/test_flavors.py
+++ b/nova/tests/test_flavors.py
@@ -69,11 +69,8 @@ class InstanceTypeTestCase(test.TestCase):
project_id = 'fake'
ctxt = context.RequestContext(user_id, project_id, is_admin=True)
flavor_id = 'flavor1'
- type_ref = flavors.create('some flavor', 256, 1, 120, 100,
- flavorid=flavor_id)
- access_ref = flavors.add_flavor_access(flavor_id,
- project_id,
- ctxt=ctxt)
+ flavors.create('some flavor', 256, 1, 120, 100, flavorid=flavor_id)
+ flavors.add_flavor_access(flavor_id, project_id, ctxt=ctxt)
self.assertRaises(exception.FlavorAccessExists,
flavors.add_flavor_access,
flavor_id, project_id, ctxt)
@@ -92,10 +89,8 @@ class InstanceTypeTestCase(test.TestCase):
project_id = 'fake'
ctxt = context.RequestContext(user_id, project_id, is_admin=True)
flavor_id = 'flavor1'
- type_ref = flavors.create('some flavor', 256, 1, 120, 100,
- flavorid=flavor_id)
- access_ref = flavors.add_flavor_access(flavor_id, project_id,
- ctxt)
+ flavors.create('some flavor', 256, 1, 120, 100, flavorid=flavor_id)
+ flavors.add_flavor_access(flavor_id, project_id, ctxt)
flavors.remove_flavor_access(flavor_id, project_id, ctxt)
projects = flavors.get_flavor_access_by_flavor_id(flavor_id,
@@ -107,8 +102,7 @@ class InstanceTypeTestCase(test.TestCase):
project_id = 'fake'
ctxt = context.RequestContext(user_id, project_id, is_admin=True)
flavor_id = 'flavor1'
- type_ref = flavors.create('some flavor', 256, 1, 120, 100,
- flavorid=flavor_id)
+ flavors.create('some flavor', 256, 1, 120, 100, flavorid=flavor_id)
self.assertRaises(exception.FlavorAccessNotFound,
flavors.remove_flavor_access,
flavor_id, project_id, ctxt=ctxt)
diff --git a/nova/tests/test_metadata.py b/nova/tests/test_metadata.py
index 8cdc3e7af..2aece7ac8 100644
--- a/nova/tests/test_metadata.py
+++ b/nova/tests/test_metadata.py
@@ -71,6 +71,7 @@ INSTANCES = (
'info_cache': {'network_info': []},
'hostname': 'test.novadomain',
'display_name': 'my_displayname',
+ 'metadata': {}
},
)
diff --git a/nova/tests/test_notifications.py b/nova/tests/test_notifications.py
index 23fe4c82b..0d7c0e7a8 100644
--- a/nova/tests/test_notifications.py
+++ b/nova/tests/test_notifications.py
@@ -295,13 +295,17 @@ class NotificationsTestCase(test.TestCase):
self.assertEquals(payload["access_ip_v6"], access_ip_v6)
def test_send_name_update(self):
- notifications.send_update(self.context, self.instance, self.instance)
+ param = {"display_name": "new_display_name"}
+ new_name_inst = self._wrapped_create(params=param)
+ notifications.send_update(self.context, self.instance, new_name_inst)
self.assertEquals(1, len(test_notifier.NOTIFICATIONS))
notif = test_notifier.NOTIFICATIONS[0]
payload = notif["payload"]
- display_name = self.instance["display_name"]
+ old_display_name = self.instance["display_name"]
+ new_display_name = new_name_inst["display_name"]
- self.assertEquals(payload["display_name"], display_name)
+ self.assertEquals(payload["old_display_name"], old_display_name)
+ self.assertEquals(payload["display_name"], new_display_name)
def test_send_no_state_change(self):
called = [False]
diff --git a/nova/tests/test_quota.py b/nova/tests/test_quota.py
index be3669958..37009f3df 100644
--- a/nova/tests/test_quota.py
+++ b/nova/tests/test_quota.py
@@ -227,7 +227,7 @@ class QuotaIntegrationTestCase(test.TestCase):
timeutils.advance_time_seconds(80)
- result = quota.QUOTAS.expire(self.context)
+ quota.QUOTAS.expire(self.context)
assertInstancesReserved(0)
diff --git a/nova/tests/test_utils.py b/nova/tests/test_utils.py
index f400bb899..ada649549 100644
--- a/nova/tests/test_utils.py
+++ b/nova/tests/test_utils.py
@@ -38,41 +38,6 @@ from nova import utils
CONF = cfg.CONF
-class ByteConversionTest(test.TestCase):
- def test_string_conversions(self):
- working_examples = {
- '1024KB': 1048576,
- '1024TB': 1125899906842624,
- '1024K': 1048576,
- '1024T': 1125899906842624,
- '1TB': 1099511627776,
- '1T': 1099511627776,
- '1KB': 1024,
- '1K': 1024,
- '1B': 1,
- '1B': 1,
- '1': 1,
- '1MB': 1048576,
- '7MB': 7340032,
- '0MB': 0,
- '0KB': 0,
- '0TB': 0,
- '': 0,
- }
- for (in_value, expected_value) in working_examples.items():
- b_value = utils.to_bytes(in_value)
- self.assertEquals(expected_value, b_value)
- if len(in_value):
- in_value = "-" + in_value
- b_value = utils.to_bytes(in_value)
- self.assertEquals(expected_value * -1, b_value)
- breaking_examples = [
- 'junk1KB', '1023BBBB',
- ]
- for v in breaking_examples:
- self.assertRaises(TypeError, utils.to_bytes, v)
-
-
class GetFromPathTestCase(test.TestCase):
def test_tolerates_nones(self):
f = utils.get_from_path
@@ -228,6 +193,92 @@ class GetFromPathTestCase(test.TestCase):
self.assertEquals(['b_1'], f(input, "a/b"))
+class GetMyIP4AddressTestCase(test.TestCase):
+ def test_get_my_ipv4_address_with_no_ipv4(self):
+ response = """172.16.0.0/16 via 172.16.251.13 dev tun1
+172.16.251.1 via 172.16.251.13 dev tun1
+172.16.251.13 dev tun1 proto kernel scope link src 172.16.251.14
+172.24.0.0/16 via 172.16.251.13 dev tun1
+192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1"""
+
+ def fake_execute(*args, **kwargs):
+ return response, None
+
+ self.stubs.Set(utils, 'execute', fake_execute)
+ address = utils.get_my_ipv4_address()
+ self.assertEqual(address, '127.0.0.1')
+
+ def test_get_my_ipv4_address_bad_process(self):
+ def fake_execute(*args, **kwargs):
+ raise processutils.ProcessExecutionError()
+
+ self.stubs.Set(utils, 'execute', fake_execute)
+ address = utils.get_my_ipv4_address()
+ self.assertEqual(address, '127.0.0.1')
+
+ def test_get_my_ipv4_address_with_single_interface(self):
+ response_route = """default via 192.168.1.1 dev wlan0 proto static
+192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.137 metric 9
+"""
+ response_addr = """
+1: lo inet 127.0.0.1/8 scope host lo
+3: wlan0 inet 192.168.1.137/24 brd 192.168.1.255 scope global wlan0
+"""
+
+ def fake_execute(*args, **kwargs):
+ if 'route' in args:
+ return response_route, None
+ return response_addr, None
+
+ self.stubs.Set(utils, 'execute', fake_execute)
+ address = utils.get_my_ipv4_address()
+ self.assertEqual(address, '192.168.1.137')
+
+ def test_get_my_ipv4_address_with_multi_ipv4_on_single_interface(self):
+ response_route = """
+172.18.56.0/24 dev customer proto kernel scope link src 172.18.56.22
+169.254.0.0/16 dev customer scope link metric 1031
+default via 172.18.56.1 dev customer
+"""
+ response_addr = (""
+"31: customer inet 172.18.56.22/24 brd 172.18.56.255 scope global"
+" customer\n"
+"31: customer inet 172.18.56.32/24 brd 172.18.56.255 scope global "
+"secondary customer")
+
+ def fake_execute(*args, **kwargs):
+ if 'route' in args:
+ return response_route, None
+ return response_addr, None
+
+ self.stubs.Set(utils, 'execute', fake_execute)
+ address = utils.get_my_ipv4_address()
+ self.assertEqual(address, '172.18.56.22')
+
+ def test_get_my_ipv4_address_with_multiple_interfaces(self):
+ response_route = """
+169.1.9.0/24 dev eth1 proto kernel scope link src 169.1.9.10
+172.17.248.0/21 dev eth0 proto kernel scope link src 172.17.255.9
+169.254.0.0/16 dev eth0 scope link metric 1002
+169.254.0.0/16 dev eth1 scope link metric 1003
+default via 172.17.248.1 dev eth0 proto static
+"""
+ response_addr = """
+1: lo inet 127.0.0.1/8 scope host lo
+2: eth0 inet 172.17.255.9/21 brd 172.17.255.255 scope global eth0
+3: eth1 inet 169.1.9.10/24 scope global eth1
+"""
+
+ def fake_execute(*args, **kwargs):
+ if 'route' in args:
+ return response_route, None
+ return response_addr, None
+
+ self.stubs.Set(utils, 'execute', fake_execute)
+ address = utils.get_my_ipv4_address()
+ self.assertEqual(address, '172.17.255.9')
+
+
class GenericUtilsTestCase(test.TestCase):
def test_parse_server_string(self):
result = utils.parse_server_string('::1')
diff --git a/nova/tests/test_wsgi.py b/nova/tests/test_wsgi.py
index d1d659fe3..7118aa938 100644
--- a/nova/tests/test_wsgi.py
+++ b/nova/tests/test_wsgi.py
@@ -23,8 +23,7 @@ import tempfile
import testtools
import eventlet
-import httplib2
-import paste
+import requests
import nova.exception
from nova import test
@@ -119,16 +118,16 @@ class TestWSGIServer(test.TestCase):
server.start()
uri = "http://127.0.0.1:%d/%s" % (server.port, 10000 * 'x')
- resp, _ = httplib2.Http().request(uri)
+ resp = requests.get(uri)
eventlet.sleep(0)
- self.assertNotEqual(resp.status,
- paste.httpexceptions.HTTPRequestURITooLong.code)
+ self.assertNotEqual(resp.status_code,
+ requests.codes.REQUEST_URI_TOO_LARGE)
uri = "http://127.0.0.1:%d/%s" % (server.port, 20000 * 'x')
- resp, _ = httplib2.Http().request(uri)
+ resp = requests.get(uri)
eventlet.sleep(0)
- self.assertEqual(resp.status,
- paste.httpexceptions.HTTPRequestURITooLong.code)
+ self.assertEqual(resp.status_code,
+ requests.codes.REQUEST_URI_TOO_LARGE)
server.stop()
server.wait()
diff --git a/nova/tests/utils.py b/nova/tests/utils.py
index 994e4f220..d39d14950 100644
--- a/nova/tests/utils.py
+++ b/nova/tests/utils.py
@@ -12,7 +12,7 @@
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
-#
+# under the License.
import errno
import platform
@@ -212,5 +212,5 @@ def is_ipv6_supported():
if e.errno == errno.EAFNOSUPPORT:
has_ipv6_support = False
else:
- raise e
+ raise
return has_ipv6_support
diff --git a/nova/tests/virt/baremetal/db/test_bm_pxe_ip.py b/nova/tests/virt/baremetal/db/test_bm_pxe_ip.py
deleted file mode 100644
index 85f3e2f4b..000000000
--- a/nova/tests/virt/baremetal/db/test_bm_pxe_ip.py
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright (c) 2012 NTT DOCOMO, INC.
-# All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-"""
-Bare-metal DB testcase for BareMetalPxeIp
-"""
-
-from nova import exception
-from nova.openstack.common.db import exception as db_exc
-from nova.tests.virt.baremetal.db import base
-from nova.tests.virt.baremetal.db import utils
-from nova.virt.baremetal import db
-
-
-class BareMetalPxeIpTestCase(base.BMDBTestCase):
-
- def _create_pxe_ip(self):
- i1 = utils.new_bm_pxe_ip(address='10.1.1.1',
- server_address='10.1.1.101')
- i2 = utils.new_bm_pxe_ip(address='10.1.1.2',
- server_address='10.1.1.102')
-
- i1_ref = db.bm_pxe_ip_create_direct(self.context, i1)
- self.assertTrue(i1_ref['id'] is not None)
- self.assertEqual(i1_ref['address'], '10.1.1.1')
- self.assertEqual(i1_ref['server_address'], '10.1.1.101')
-
- i2_ref = db.bm_pxe_ip_create_direct(self.context, i2)
- self.assertTrue(i2_ref['id'] is not None)
- self.assertEqual(i2_ref['address'], '10.1.1.2')
- self.assertEqual(i2_ref['server_address'], '10.1.1.102')
-
- self.i1 = i1_ref
- self.i2 = i2_ref
-
- def test_unuque_address(self):
- self._create_pxe_ip()
-
- # address duplicates
- i = utils.new_bm_pxe_ip(address='10.1.1.1',
- server_address='10.1.1.201')
- self.assertRaises(db_exc.DBError,
- db.bm_pxe_ip_create_direct,
- self.context, i)
-
- # server_address duplicates
- i = utils.new_bm_pxe_ip(address='10.1.1.3',
- server_address='10.1.1.101')
- self.assertRaises(db_exc.DBError,
- db.bm_pxe_ip_create_direct,
- self.context, i)
-
- db.bm_pxe_ip_destroy(self.context, self.i1['id'])
- i = utils.new_bm_pxe_ip(address='10.1.1.1',
- server_address='10.1.1.101')
- ref = db.bm_pxe_ip_create_direct(self.context, i)
- self.assertTrue(ref is not None)
-
- def test_bm_pxe_ip_associate(self):
- self._create_pxe_ip()
- node = db.bm_node_create(self.context, utils.new_bm_node())
- ip_id = db.bm_pxe_ip_associate(self.context, node['id'])
- ref = db.bm_pxe_ip_get(self.context, ip_id)
- self.assertEqual(ref['bm_node_id'], node['id'])
-
- def test_bm_pxe_ip_associate_raise(self):
- self._create_pxe_ip()
- node_id = 123
- self.assertRaises(exception.NovaException,
- db.bm_pxe_ip_associate,
- self.context, node_id)
-
- def test_delete_by_address(self):
- self._create_pxe_ip()
- db.bm_pxe_ip_destroy_by_address(self.context, '10.1.1.1')
- del_ref = db.bm_pxe_ip_get(self.context, self.i1['id'])
- self.assertTrue(del_ref is None)
-
- def test_delete_by_address_not_exist(self):
- self._create_pxe_ip()
- del_ref = db.bm_pxe_ip_destroy_by_address(self.context, '10.11.12.13')
- self.assertTrue(del_ref is None)
diff --git a/nova/tests/virt/baremetal/db/utils.py b/nova/tests/virt/baremetal/db/utils.py
index c3b3cff5f..6faeb13d8 100644
--- a/nova/tests/virt/baremetal/db/utils.py
+++ b/nova/tests/virt/baremetal/db/utils.py
@@ -39,18 +39,6 @@ def new_bm_node(**kwargs):
return h
-def new_bm_pxe_ip(**kwargs):
- x = bm_models.BareMetalPxeIp()
- x.id = kwargs.pop('id', None)
- x.address = kwargs.pop('address', None)
- x.server_address = kwargs.pop('server_address', None)
- x.bm_node_id = kwargs.pop('bm_node_id', None)
- if len(kwargs) > 0:
- raise test.TestingException("unknown field: %s"
- % ','.join(kwargs.keys()))
- return x
-
-
def new_bm_interface(**kwargs):
x = bm_models.BareMetalInterface()
x.id = kwargs.pop('id', None)
diff --git a/nova/tests/virt/baremetal/test_pxe.py b/nova/tests/virt/baremetal/test_pxe.py
index 022f9c692..cd4e5c143 100644
--- a/nova/tests/virt/baremetal/test_pxe.py
+++ b/nova/tests/virt/baremetal/test_pxe.py
@@ -116,6 +116,7 @@ class PXEClassMethodsTestCase(BareMetalPXETestCase):
'deployment_ari_path': 'eee',
'aki_path': 'fff',
'ari_path': 'ggg',
+ 'network_info': self.test_network_info,
}
config = pxe.build_pxe_config(**args)
self.assertThat(config, matchers.StartsWith('default deploy'))
@@ -140,6 +141,21 @@ class PXEClassMethodsTestCase(BareMetalPXETestCase):
matchers.Not(matchers.Contains('kernel ddd')),
))
+ def test_build_pxe_network_config(self):
+ self.flags(
+ pxe_network_config=True,
+ group='baremetal',
+ )
+ net = utils.get_test_network_info(1)
+ config = pxe.build_pxe_network_config(net)
+ self.assertIn('eth0:off', config)
+ self.assertNotIn('eth1', config)
+
+ net = utils.get_test_network_info(2)
+ config = pxe.build_pxe_network_config(net)
+ self.assertIn('eth0:off', config)
+ self.assertIn('eth1:off', config)
+
def test_build_network_config(self):
net = utils.get_test_network_info(1)
config = pxe.build_network_config(net)
@@ -458,7 +474,8 @@ class PXEPublicMethodsTestCase(BareMetalPXETestCase):
bm_utils.random_alnum(32).AndReturn('alnum')
pxe.build_pxe_config(
self.node['id'], 'alnum', iqn,
- 'aaaa', 'bbbb', 'cccc', 'dddd').AndReturn(pxe_config)
+ 'aaaa', 'bbbb', 'cccc', 'dddd',
+ self.test_network_info).AndReturn(pxe_config)
bm_utils.write_to_file(pxe_path, pxe_config)
for mac in macs:
bm_utils.create_link_without_raise(
@@ -466,7 +483,8 @@ class PXEPublicMethodsTestCase(BareMetalPXETestCase):
self.mox.ReplayAll()
- self.driver.activate_bootloader(self.context, self.node, self.instance)
+ self.driver.activate_bootloader(self.context, self.node, self.instance,
+ network_info=self.test_network_info)
self.mox.VerifyAll()
@@ -515,8 +533,8 @@ class PXEPublicMethodsTestCase(BareMetalPXETestCase):
row = db.bm_node_get(self.context, 1)
self.assertTrue(row['deploy_key'] is None)
- self.driver.activate_bootloader(self.context, self.node,
- self.instance)
+ self.driver.activate_bootloader(self.context, self.node, self.instance,
+ network_info=self.test_network_info)
row = db.bm_node_get(self.context, 1)
self.assertTrue(row['deploy_key'] is not None)
diff --git a/nova/tests/virt/baremetal/test_tilera.py b/nova/tests/virt/baremetal/test_tilera.py
index 488cba4df..7ad5c4b6a 100755
--- a/nova/tests/virt/baremetal/test_tilera.py
+++ b/nova/tests/virt/baremetal/test_tilera.py
@@ -317,7 +317,8 @@ class TileraPublicMethodsTestCase(BareMetalTileraTestCase):
self.mox.ReplayAll()
- self.driver.activate_bootloader(self.context, self.node, self.instance)
+ self.driver.activate_bootloader(self.context, self.node, self.instance,
+ network_info=self.test_network_info)
self.mox.VerifyAll()
@@ -334,8 +335,8 @@ class TileraPublicMethodsTestCase(BareMetalTileraTestCase):
row = db.bm_node_get(self.context, 1)
self.assertTrue(row['deploy_key'] is None)
- self.driver.activate_bootloader(self.context, self.node,
- self.instance)
+ self.driver.activate_bootloader(self.context, self.node, self.instance,
+ network_info=self.test_network_info)
row = db.bm_node_get(self.context, 1)
self.assertTrue(row['deploy_key'] is not None)
diff --git a/nova/tests/virt/hyperv/test_hypervapi.py b/nova/tests/virt/hyperv/test_hypervapi.py
index cfc79c388..9f2d745ff 100644
--- a/nova/tests/virt/hyperv/test_hypervapi.py
+++ b/nova/tests/virt/hyperv/test_hypervapi.py
@@ -495,13 +495,24 @@ class HyperVAPITestCase(test.TestCase):
constants.HYPERV_VM_STATE_DISABLED)
def test_power_on(self):
- self._test_vm_state_change(self._conn.power_on,
- constants.HYPERV_VM_STATE_DISABLED,
- constants.HYPERV_VM_STATE_ENABLED)
+ self._instance_data = self._get_instance_data()
+ network_info = fake_network.fake_get_instance_nw_info(self.stubs,
+ spectacular=True)
+ vmutils.VMUtils.set_vm_state(mox.Func(self._check_instance_name),
+ constants.HYPERV_VM_STATE_ENABLED)
+ self._mox.ReplayAll()
+ self._conn.power_on(self._context, self._instance_data, network_info)
+ self._mox.VerifyAll()
def test_power_on_already_running(self):
- self._test_vm_state_change(self._conn.power_on, None,
- constants.HYPERV_VM_STATE_ENABLED)
+ self._instance_data = self._get_instance_data()
+ network_info = fake_network.fake_get_instance_nw_info(self.stubs,
+ spectacular=True)
+ vmutils.VMUtils.set_vm_state(mox.Func(self._check_instance_name),
+ constants.HYPERV_VM_STATE_ENABLED)
+ self._mox.ReplayAll()
+ self._conn.power_on(self._context, self._instance_data, network_info)
+ self._mox.VerifyAll()
def test_reboot(self):
diff --git a/nova/tests/virt/libvirt/test_libvirt.py b/nova/tests/virt/libvirt/test_libvirt.py
index 3c658a7f5..5636e1706 100644
--- a/nova/tests/virt/libvirt/test_libvirt.py
+++ b/nova/tests/virt/libvirt/test_libvirt.py
@@ -26,6 +26,7 @@ import re
import shutil
import tempfile
+from eventlet import greenthread
from lxml import etree
from oslo.config import cfg
from xml.dom import minidom
@@ -43,6 +44,7 @@ from nova.openstack.common import fileutils
from nova.openstack.common import importutils
from nova.openstack.common import jsonutils
from nova.openstack.common import loopingcall
+from nova.openstack.common import processutils
from nova.openstack.common import uuidutils
from nova import test
from nova.tests import fake_network
@@ -77,6 +79,7 @@ CONF.import_opt('compute_manager', 'nova.service')
CONF.import_opt('host', 'nova.netconf')
CONF.import_opt('my_ip', 'nova.netconf')
CONF.import_opt('base_dir_name', 'nova.virt.libvirt.imagecache')
+CONF.import_opt('instances_path', 'nova.compute.manager')
_fake_network_info = fake_network.fake_get_instance_nw_info
_fake_stub_out_get_nw_info = fake_network.stub_out_nw_api_get_instance_nw_info
@@ -286,8 +289,9 @@ class LibvirtConnTestCase(test.TestCase):
self.user_id = 'fake'
self.project_id = 'fake'
self.context = context.get_admin_context()
- self.flags(instances_path='')
- self.flags(libvirt_snapshots_directory='')
+ temp_dir = self.useFixture(fixtures.TempDir()).path
+ self.flags(instances_path=temp_dir)
+ self.flags(libvirt_snapshots_directory=temp_dir)
self.useFixture(fixtures.MonkeyPatch(
'nova.virt.libvirt.driver.libvirt_utils',
fake_libvirt_utils))
@@ -343,6 +347,9 @@ class LibvirtConnTestCase(test.TestCase):
'extra_specs': {},
'system_metadata': sys_meta}
+ def relpath(self, path):
+ return os.path.relpath(path, CONF.instances_path)
+
def tearDown(self):
nova.tests.image.fake.FakeImageService_reset()
super(LibvirtConnTestCase, self).tearDown()
@@ -589,8 +596,8 @@ class LibvirtConnTestCase(test.TestCase):
conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
instance_ref = db.instance_create(self.context, self.test_instance)
- # make configdrive.enabled_for() return True
- instance_ref['config_drive'] = 'ANY_ID'
+ # make configdrive.required_by() return True
+ instance_ref['config_drive'] = True
disk_info = blockinfo.get_disk_info(CONF.libvirt_type,
instance_ref)
@@ -2078,8 +2085,8 @@ class LibvirtConnTestCase(test.TestCase):
else:
suffix = ''
if expect_kernel:
- check = (lambda t: t.find('./os/kernel').text.split(
- '/')[1], 'kernel' + suffix)
+ check = (lambda t: self.relpath(t.find('./os/kernel').text).
+ split('/')[1], 'kernel' + suffix)
else:
check = (lambda t: t.find('./os/kernel'), None)
check_list.append(check)
@@ -2094,8 +2101,8 @@ class LibvirtConnTestCase(test.TestCase):
check_list.append(check)
if expect_ramdisk:
- check = (lambda t: t.find('./os/initrd').text.split(
- '/')[1], 'ramdisk' + suffix)
+ check = (lambda t: self.relpath(t.find('./os/initrd').text).
+ split('/')[1], 'ramdisk' + suffix)
else:
check = (lambda t: t.find('./os/initrd'), None)
check_list.append(check)
@@ -2146,8 +2153,9 @@ class LibvirtConnTestCase(test.TestCase):
check = (lambda t: t.findall('./devices/serial')[1].get(
'type'), 'pty')
check_list.append(check)
- check = (lambda t: t.findall('./devices/serial/source')[0].get(
- 'path').split('/')[1], 'console.log')
+ check = (lambda t: self.relpath(t.findall(
+ './devices/serial/source')[0].get('path')).
+ split('/')[1], 'console.log')
check_list.append(check)
else:
check = (lambda t: t.find('./devices/console').get(
@@ -2159,16 +2167,16 @@ class LibvirtConnTestCase(test.TestCase):
(lambda t: t.find('./memory').text, '2097152')]
if rescue:
common_checks += [
- (lambda t: t.findall('./devices/disk/source')[0].get(
- 'file').split('/')[1], 'disk.rescue'),
- (lambda t: t.findall('./devices/disk/source')[1].get(
- 'file').split('/')[1], 'disk')]
+ (lambda t: self.relpath(t.findall('./devices/disk/source')[0].
+ get('file')).split('/')[1], 'disk.rescue'),
+ (lambda t: self.relpath(t.findall('./devices/disk/source')[1].
+ get('file')).split('/')[1], 'disk')]
else:
- common_checks += [(lambda t: t.findall(
- './devices/disk/source')[0].get('file').split('/')[1],
+ common_checks += [(lambda t: self.relpath(t.findall(
+ './devices/disk/source')[0].get('file')).split('/')[1],
'disk')]
- common_checks += [(lambda t: t.findall(
- './devices/disk/source')[1].get('file').split('/')[1],
+ common_checks += [(lambda t: self.relpath(t.findall(
+ './devices/disk/source')[1].get('file')).split('/')[1],
'disk.local')]
for (libvirt_type, (expected_uri, checks)) in type_uri_map.iteritems():
@@ -2683,6 +2691,80 @@ class LibvirtConnTestCase(test.TestCase):
db.instance_destroy(self.context, instance_ref['uuid'])
+ def test_get_instance_disk_info_excludes_volumes(self):
+ # Test data
+ instance_ref = db.instance_create(self.context, self.test_instance)
+ dummyxml = ("<domain type='kvm'><name>instance-0000000a</name>"
+ "<devices>"
+ "<disk type='file'><driver name='qemu' type='raw'/>"
+ "<source file='/test/disk'/>"
+ "<target dev='vda' bus='virtio'/></disk>"
+ "<disk type='file'><driver name='qemu' type='qcow2'/>"
+ "<source file='/test/disk.local'/>"
+ "<target dev='vdb' bus='virtio'/></disk>"
+ "<disk type='file'><driver name='qemu' type='qcow2'/>"
+ "<source file='/fake/path/to/volume1'/>"
+ "<target dev='vdc' bus='virtio'/></disk>"
+ "<disk type='file'><driver name='qemu' type='qcow2'/>"
+ "<source file='/fake/path/to/volume2'/>"
+ "<target dev='vdd' bus='virtio'/></disk>"
+ "</devices></domain>")
+
+ # Preparing mocks
+ vdmock = self.mox.CreateMock(libvirt.virDomain)
+ self.mox.StubOutWithMock(vdmock, "XMLDesc")
+ vdmock.XMLDesc(0).AndReturn(dummyxml)
+
+ def fake_lookup(instance_name):
+ if instance_name == instance_ref['name']:
+ return vdmock
+ self.create_fake_libvirt_mock(lookupByName=fake_lookup)
+
+ GB = 1024 * 1024 * 1024
+ fake_libvirt_utils.disk_sizes['/test/disk'] = 10 * GB
+ fake_libvirt_utils.disk_sizes['/test/disk.local'] = 20 * GB
+ fake_libvirt_utils.disk_backing_files['/test/disk.local'] = 'file'
+
+ self.mox.StubOutWithMock(os.path, "getsize")
+ os.path.getsize('/test/disk').AndReturn((10737418240))
+ os.path.getsize('/test/disk.local').AndReturn((3328599655))
+
+ ret = ("image: /test/disk\n"
+ "file format: raw\n"
+ "virtual size: 20G (21474836480 bytes)\n"
+ "disk size: 3.1G\n"
+ "cluster_size: 2097152\n"
+ "backing file: /test/dummy (actual path: /backing/file)\n")
+
+ self.mox.StubOutWithMock(os.path, "exists")
+ os.path.exists('/test/disk.local').AndReturn(True)
+
+ self.mox.StubOutWithMock(utils, "execute")
+ utils.execute('env', 'LC_ALL=C', 'LANG=C', 'qemu-img', 'info',
+ '/test/disk.local').AndReturn((ret, ''))
+
+ self.mox.ReplayAll()
+ conn_info = {'driver_volume_type': 'fake'}
+ info = {'block_device_mapping': [
+ {'connection_info': conn_info, 'mount_device': '/dev/vdc'},
+ {'connection_info': conn_info, 'mount_device': '/dev/vdd'}]}
+ conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
+ info = conn.get_instance_disk_info(instance_ref['name'],
+ block_device_info=info)
+ info = jsonutils.loads(info)
+ self.assertEquals(info[0]['type'], 'raw')
+ self.assertEquals(info[0]['path'], '/test/disk')
+ self.assertEquals(info[0]['disk_size'], 10737418240)
+ self.assertEquals(info[0]['backing_file'], "")
+ self.assertEquals(info[0]['over_committed_disk_size'], 0)
+ self.assertEquals(info[1]['type'], 'qcow2')
+ self.assertEquals(info[1]['path'], '/test/disk.local')
+ self.assertEquals(info[1]['virt_disk_size'], 21474836480)
+ self.assertEquals(info[1]['backing_file'], "file")
+ self.assertEquals(info[1]['over_committed_disk_size'], 18146236825)
+
+ db.instance_destroy(self.context, instance_ref['uuid'])
+
def test_spawn_with_network_info(self):
# Preparing mocks
def fake_none(*args, **kwargs):
@@ -3165,6 +3247,90 @@ class LibvirtConnTestCase(test.TestCase):
self.stubs.Set(os.path, 'exists', fake_os_path_exists)
conn.destroy(instance, [], None, False)
+ def test_reboot_different_ids(self):
+ class FakeLoopingCall:
+ def start(self, *a, **k):
+ return self
+
+ def wait(self):
+ return None
+
+ self.flags(libvirt_wait_soft_reboot_seconds=1)
+ info_tuple = ('fake', 'fake', 'fake', 'also_fake')
+ self.reboot_create_called = False
+
+ # Mock domain
+ mock_domain = self.mox.CreateMock(libvirt.virDomain)
+ mock_domain.info().AndReturn(
+ (libvirt_driver.VIR_DOMAIN_RUNNING,) + info_tuple)
+ mock_domain.ID().AndReturn('some_fake_id')
+ mock_domain.shutdown()
+ mock_domain.info().AndReturn(
+ (libvirt_driver.VIR_DOMAIN_CRASHED,) + info_tuple)
+ mock_domain.ID().AndReturn('some_other_fake_id')
+
+ self.mox.ReplayAll()
+
+ def fake_lookup_by_name(instance_name):
+ return mock_domain
+
+ def fake_create_domain(**kwargs):
+ self.reboot_create_called = True
+
+ conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
+ instance = {"name": "instancename", "id": "instanceid",
+ "uuid": "875a8070-d0b9-4949-8b31-104d125c9a64"}
+ self.stubs.Set(conn, '_lookup_by_name', fake_lookup_by_name)
+ self.stubs.Set(conn, '_create_domain', fake_create_domain)
+ self.stubs.Set(loopingcall, 'FixedIntervalLoopingCall',
+ lambda *a, **k: FakeLoopingCall())
+ conn.reboot(None, instance, [])
+ self.assertTrue(self.reboot_create_called)
+
+ def test_reboot_same_ids(self):
+ class FakeLoopingCall:
+ def start(self, *a, **k):
+ return self
+
+ def wait(self):
+ return None
+
+ self.flags(libvirt_wait_soft_reboot_seconds=1)
+ info_tuple = ('fake', 'fake', 'fake', 'also_fake')
+ self.reboot_hard_reboot_called = False
+
+ # Mock domain
+ mock_domain = self.mox.CreateMock(libvirt.virDomain)
+ mock_domain.info().AndReturn(
+ (libvirt_driver.VIR_DOMAIN_RUNNING,) + info_tuple)
+ mock_domain.ID().AndReturn('some_fake_id')
+ mock_domain.shutdown()
+ mock_domain.info().AndReturn(
+ (libvirt_driver.VIR_DOMAIN_CRASHED,) + info_tuple)
+ mock_domain.ID().AndReturn('some_fake_id')
+
+ self.mox.ReplayAll()
+
+ def fake_lookup_by_name(instance_name):
+ return mock_domain
+
+ def fake_hard_reboot(*args, **kwargs):
+ self.reboot_hard_reboot_called = True
+
+ def fake_sleep(interval):
+ pass
+
+ conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
+ instance = {"name": "instancename", "id": "instanceid",
+ "uuid": "875a8070-d0b9-4949-8b31-104d125c9a64"}
+ self.stubs.Set(conn, '_lookup_by_name', fake_lookup_by_name)
+ self.stubs.Set(greenthread, 'sleep', fake_sleep)
+ self.stubs.Set(conn, '_hard_reboot', fake_hard_reboot)
+ self.stubs.Set(loopingcall, 'FixedIntervalLoopingCall',
+ lambda *a, **k: FakeLoopingCall())
+ conn.reboot(None, instance, [])
+ self.assertTrue(self.reboot_hard_reboot_called)
+
def test_destroy_undefines(self):
mock = self.mox.CreateMock(libvirt.virDomain)
mock.ID()
@@ -3931,6 +4097,88 @@ class LibvirtConnTestCase(test.TestCase):
self.mox.ReplayAll()
self.assertTrue(conn._is_storage_shared_with('foo', '/path'))
+ def test_create_domain_define_xml_fails(self):
+ """
+ Tests that the xml is logged when defining the domain fails.
+ """
+ fake_xml = "<test>this is a test</test>"
+
+ def fake_defineXML(xml):
+ self.assertEquals(fake_xml, xml)
+ raise libvirt.libvirtError('virDomainDefineXML() failed')
+
+ self.log_error_called = False
+
+ def fake_error(msg):
+ self.log_error_called = True
+ self.assertTrue(fake_xml in msg)
+
+ self.stubs.Set(nova.virt.libvirt.driver.LOG, 'error', fake_error)
+
+ self.create_fake_libvirt_mock(defineXML=fake_defineXML)
+ self.mox.ReplayAll()
+ conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
+
+ self.assertRaises(libvirt.libvirtError, conn._create_domain, fake_xml)
+ self.assertTrue(self.log_error_called)
+
+ def test_create_domain_with_flags_fails(self):
+ """
+ Tests that the xml is logged when creating the domain with flags fails.
+ """
+ fake_xml = "<test>this is a test</test>"
+ fake_domain = FakeVirtDomain(fake_xml)
+
+ def fake_createWithFlags(launch_flags):
+ raise libvirt.libvirtError('virDomainCreateWithFlags() failed')
+
+ self.log_error_called = False
+
+ def fake_error(msg):
+ self.log_error_called = True
+ self.assertTrue(fake_xml in msg)
+
+ self.stubs.Set(fake_domain, 'createWithFlags', fake_createWithFlags)
+ self.stubs.Set(nova.virt.libvirt.driver.LOG, 'error', fake_error)
+
+ self.create_fake_libvirt_mock()
+ self.mox.ReplayAll()
+ conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
+
+ self.assertRaises(libvirt.libvirtError, conn._create_domain,
+ domain=fake_domain)
+ self.assertTrue(self.log_error_called)
+
+ def test_create_domain_enable_hairpin_fails(self):
+ """
+ Tests that the xml is logged when enabling hairpin mode for the domain
+ fails.
+ """
+ fake_xml = "<test>this is a test</test>"
+ fake_domain = FakeVirtDomain(fake_xml)
+
+ def fake_enable_hairpin(launch_flags):
+ raise processutils.ProcessExecutionError('error')
+
+ self.log_error_called = False
+
+ def fake_error(msg):
+ self.log_error_called = True
+ self.assertTrue(fake_xml in msg)
+
+ self.stubs.Set(nova.virt.libvirt.driver.LOG, 'error', fake_error)
+
+ self.create_fake_libvirt_mock()
+ self.mox.ReplayAll()
+ conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)
+ self.stubs.Set(conn, '_enable_hairpin', fake_enable_hairpin)
+
+ self.assertRaises(processutils.ProcessExecutionError,
+ conn._create_domain,
+ domain=fake_domain,
+ power_on=False)
+ self.assertTrue(self.log_error_called)
+
class HostStateTestCase(test.TestCase):
@@ -4945,10 +5193,9 @@ class LibvirtDriverTestCase(test.TestCase):
inst['host'] = 'host1'
inst['root_gb'] = 10
inst['ephemeral_gb'] = 20
- inst['config_drive'] = 1
+ inst['config_drive'] = True
inst['kernel_id'] = 2
inst['ramdisk_id'] = 3
- inst['config_drive_id'] = 1
inst['key_data'] = 'ABCDEFG'
inst['system_metadata'] = sys_meta
@@ -4963,7 +5210,8 @@ class LibvirtDriverTestCase(test.TestCase):
self.counter = 0
self.checked_shared_storage = False
- def fake_get_instance_disk_info(instance, xml=None):
+ def fake_get_instance_disk_info(instance, xml=None,
+ block_device_info=None):
return '[]'
def fake_destroy(instance):
@@ -5015,7 +5263,8 @@ class LibvirtDriverTestCase(test.TestCase):
'disk_size': '83886080'}]
disk_info_text = jsonutils.dumps(disk_info)
- def fake_get_instance_disk_info(instance, xml=None):
+ def fake_get_instance_disk_info(instance, xml=None,
+ block_device_info=None):
return disk_info_text
def fake_destroy(instance):
diff --git a/nova/tests/virt/libvirt/test_libvirt_vif.py b/nova/tests/virt/libvirt/test_libvirt_vif.py
index c9c6aef12..7cbf67b07 100644
--- a/nova/tests/virt/libvirt/test_libvirt_vif.py
+++ b/nova/tests/virt/libvirt/test_libvirt_vif.py
@@ -103,6 +103,17 @@ class LibvirtVifTestCase(test.TestCase):
'ovs_interfaceid': 'aaa-bbb-ccc',
}
+ mapping_ivs = {
+ 'mac': 'ca:fe:de:ad:be:ef',
+ 'gateway_v6': net_ovs['gateway_v6'],
+ 'ips': [{'ip': '101.168.1.9'}],
+ 'dhcp_server': '191.168.1.1',
+ 'vif_uuid': 'vif-xxx-yyy-zzz',
+ 'vif_devname': 'tap-xxx-yyy-zzz',
+ 'vif_type': network_model.VIF_TYPE_IVS,
+ 'ivs_interfaceid': 'aaa-bbb-ccc',
+ }
+
mapping_ovs_legacy = {
'mac': 'ca:fe:de:ad:be:ef',
'gateway_v6': net_ovs['gateway_v6'],
@@ -411,6 +422,24 @@ class LibvirtVifTestCase(test.TestCase):
self.mapping_bridge_quantum,
br_want)
+ def _check_ivs_ethernet_driver(self, d, net, mapping, dev_prefix):
+ self.flags(firewall_driver="nova.virt.firewall.NoopFirewallDriver")
+ xml = self._get_instance_xml(d, net, mapping)
+
+ doc = etree.fromstring(xml)
+ ret = doc.findall('./devices/interface')
+ self.assertEqual(len(ret), 1)
+ node = ret[0]
+ ret = node.findall("filterref")
+ self.assertEqual(len(ret), 0)
+ self.assertEqual(node.get("type"), "ethernet")
+ dev_name = node.find("target").get("dev")
+ self.assertTrue(dev_name.startswith(dev_prefix))
+ mac = node.find("mac").get("address")
+ self.assertEqual(mac, self.mapping_ivs['mac'])
+ script = node.find("script").get("path")
+ self.assertEquals(script, "")
+
def _check_ovs_ethernet_driver(self, d, net, mapping, dev_prefix):
self.flags(firewall_driver="nova.virt.firewall.NoopFirewallDriver")
xml = self._get_instance_xml(d, net, mapping)
@@ -451,6 +480,33 @@ class LibvirtVifTestCase(test.TestCase):
self.mapping_ovs,
"tap")
+ def test_ivs_ethernet_driver(self):
+ def get_connection():
+ return fakelibvirt.Connection("qemu:///session",
+ False,
+ 9010)
+ d = vif.LibvirtGenericVIFDriver(get_connection)
+ self._check_ivs_ethernet_driver(d,
+ self.net_ovs,
+ self.mapping_ivs,
+ "tap")
+
+ def _check_ivs_virtualport_driver(self, d, net, mapping, want_iface_id):
+ self.flags(firewall_driver="nova.virt.firewall.NoopFirewallDriver")
+ xml = self._get_instance_xml(d, net, mapping)
+ doc = etree.fromstring(xml)
+ ret = doc.findall('./devices/interface')
+ self.assertEqual(len(ret), 1)
+ node = ret[0]
+ ret = node.findall("filterref")
+ self.assertEqual(len(ret), 0)
+ self.assertEqual(node.get("type"), "ethernet")
+
+ tap_name = node.find("target").get("dev")
+ self.assertEqual(tap_name, mapping['vif_devname'])
+ mac = node.find("mac").get("address")
+ self.assertEqual(mac, mapping['mac'])
+
def _check_ovs_virtualport_driver(self, d, net, mapping, want_iface_id):
self.flags(firewall_driver="nova.virt.firewall.NoopFirewallDriver")
xml = self._get_instance_xml(d, net, mapping)
@@ -502,6 +558,18 @@ class LibvirtVifTestCase(test.TestCase):
self.mapping_ovs,
want_iface_id)
+ def test_generic_ivs_virtualport_driver(self):
+ def get_connection():
+ return fakelibvirt.Connection("qemu:///session",
+ False,
+ 9011)
+ d = vif.LibvirtGenericVIFDriver(get_connection)
+ want_iface_id = self.mapping_ivs['ivs_interfaceid']
+ self._check_ivs_virtualport_driver(d,
+ self.net_ovs,
+ self.mapping_ivs,
+ want_iface_id)
+
def _check_quantum_hybrid_driver(self, d, net, mapping, br_want):
self.flags(firewall_driver="nova.virt.firewall.IptablesFirewallDriver")
xml = self._get_instance_xml(d, net, mapping)
@@ -542,6 +610,18 @@ class LibvirtVifTestCase(test.TestCase):
self.mapping_ovs,
br_want)
+ def test_ivs_hybrid_driver(self):
+ def get_connection():
+ return fakelibvirt.Connection("qemu:///session",
+ False)
+ d = vif.LibvirtGenericVIFDriver(get_connection)
+ br_want = "qbr" + self.mapping_ivs['vif_uuid']
+ br_want = br_want[:network_model.NIC_NAME_LEN]
+ self._check_quantum_hybrid_driver(d,
+ self.net_ovs,
+ self.mapping_ivs,
+ br_want)
+
def test_generic_8021qbh_driver(self):
def get_connection():
return fakelibvirt.Connection("qemu:///session",
diff --git a/nova/tests/virt/powervm/test_powervm.py b/nova/tests/virt/powervm/test_powervm.py
index 8fe08bdb8..fddd97a9d 100644
--- a/nova/tests/virt/powervm/test_powervm.py
+++ b/nova/tests/virt/powervm/test_powervm.py
@@ -173,7 +173,8 @@ class FakeBlockAdapter(powervm_blockdev.PowerVMLocalVolumeAdapter):
def fake_get_powervm_operator():
- return FakeIVMOperator(None)
+ return FakeIVMOperator(common.Connection('fake_host', 'fake_user',
+ 'fake_password'))
def create_instance(testcase):
@@ -269,9 +270,12 @@ class PowerVMDriverTestCase(test.TestCase):
self._loc_expected_task_state = expected_state
loc_context = context.get_admin_context()
+ arch = 'fake_arch'
properties = {'instance_id': self.instance['id'],
- 'user_id': str(loc_context.user_id)}
- sent_meta = {'name': 'fake_snap', 'is_public': False,
+ 'user_id': str(loc_context.user_id),
+ 'architecture': arch}
+ snapshot_name = 'fake_snap'
+ sent_meta = {'name': snapshot_name, 'is_public': False,
'status': 'creating', 'properties': properties}
image_service = fake.FakeImageService()
recv_meta = image_service.create(loc_context, sent_meta)
@@ -283,6 +287,12 @@ class PowerVMDriverTestCase(test.TestCase):
self.assertTrue(self._loc_task_state == task_states.IMAGE_UPLOADING and
self._loc_expected_task_state == task_states.IMAGE_PENDING_UPLOAD)
+ snapshot = image_service.show(context, recv_meta['id'])
+ self.assertEquals(snapshot['properties']['image_state'], 'available')
+ self.assertEquals(snapshot['properties']['architecture'], arch)
+ self.assertEquals(snapshot['status'], 'active')
+ self.assertEquals(snapshot['name'], snapshot_name)
+
def _set_get_info_stub(self, state):
def fake_get_instance(instance_name):
return {'state': state,
@@ -609,6 +619,25 @@ class PowerVMDriverTestCase(test.TestCase):
self.assertEquals(host_stats['supported_instances'][0][1], "powervm")
self.assertEquals(host_stats['supported_instances'][0][2], "hvm")
+ def test_get_host_uptime(self):
+ """
+ Tests that the get_host_uptime method issues the proper sysstat command
+ and parses the output correctly.
+ """
+ exp_cmd = "ioscli sysstat -short fake_user"
+ output = [("02:54PM up 24 days, 5:41, 1 user, "
+ "load average: 0.06, 0.03, 0.02")]
+
+ fake_op = self.powervm_connection._powervm
+ self.mox.StubOutWithMock(fake_op._operator, 'run_vios_command')
+ fake_op._operator.run_vios_command(exp_cmd).AndReturn(output)
+
+ self.mox.ReplayAll()
+
+ # the host parameter isn't used so we just pass None
+ uptime = self.powervm_connection.get_host_uptime(None)
+ self.assertEquals("02:54PM up 24 days 5:41", uptime)
+
class PowerVMDriverLparTestCase(test.TestCase):
"""Unit tests for PowerVM connection calls."""
diff --git a/nova/tests/virt/test_virt_drivers.py b/nova/tests/virt/test_virt_drivers.py
index 47f983258..6cc9bef43 100644
--- a/nova/tests/virt/test_virt_drivers.py
+++ b/nova/tests/virt/test_virt_drivers.py
@@ -60,7 +60,7 @@ class _FakeDriverBackendTestCase(object):
# So that the _supports_direct_io does the test based
# on the current working directory, instead of the
# default instances_path which doesn't exist
- self.flags(instances_path='')
+ self.flags(instances_path=self.useFixture(fixtures.TempDir()).path)
# Put fakelibvirt in place
if 'libvirt' in sys.modules:
@@ -106,7 +106,8 @@ class _FakeDriverBackendTestCase(object):
def fake_make_drive(_self, _path):
pass
- def fake_get_instance_disk_info(_self, instance, xml=None):
+ def fake_get_instance_disk_info(_self, instance, xml=None,
+ block_device_info=None):
return '[]'
self.stubs.Set(nova.virt.libvirt.driver.LibvirtDriver,
@@ -311,13 +312,14 @@ class _VirtDriverTestCase(_FakeDriverBackendTestCase):
@catch_notimplementederror
def test_power_on_running(self):
instance_ref, network_info = self._get_running_instance()
- self.connection.power_on(instance_ref)
+ self.connection.power_on(self.ctxt, instance_ref,
+ network_info, None)
@catch_notimplementederror
def test_power_on_powered_off(self):
instance_ref, network_info = self._get_running_instance()
self.connection.power_off(instance_ref)
- self.connection.power_on(instance_ref)
+ self.connection.power_on(self.ctxt, instance_ref, network_info, None)
@catch_notimplementederror
def test_soft_delete(self):
@@ -407,7 +409,24 @@ class _VirtDriverTestCase(_FakeDriverBackendTestCase):
self.connection.attach_volume({'driver_volume_type': 'fake'},
instance_ref,
'/dev/sda')
- self.connection.power_on(instance_ref)
+
+ bdm = {
+ 'root_device_name': None,
+ 'swap': None,
+ 'ephemerals': [],
+ 'block_device_mapping': [{
+ 'instance_uuid': instance_ref['uuid'],
+ 'connection_info': {'driver_volume_type': 'fake'},
+ 'mount_device': '/dev/sda',
+ 'delete_on_termination': False,
+ 'virtual_name': None,
+ 'snapshot_id': None,
+ 'volume_id': 'abcdedf',
+ 'volume_size': None,
+ 'no_device': None
+ }]
+ }
+ self.connection.power_on(self.ctxt, instance_ref, network_info, bdm)
self.connection.detach_volume({'driver_volume_type': 'fake'},
instance_ref,
'/dev/sda')
diff --git a/nova/tests/virt/vmwareapi/db_fakes.py b/nova/tests/virt/vmwareapi/db_fakes.py
index 93fcf6e13..87c3dde67 100644
--- a/nova/tests/virt/vmwareapi/db_fakes.py
+++ b/nova/tests/virt/vmwareapi/db_fakes.py
@@ -1,5 +1,6 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
+# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
# Copyright (c) 2011 Citrix Systems, Inc.
# Copyright 2011 OpenStack Foundation
#
@@ -74,6 +75,7 @@ def stub_out_db_instance_api(stubs):
'vcpus': type_data['vcpus'],
'mac_addresses': [{'address': values['mac_address']}],
'root_gb': type_data['root_gb'],
+ 'node': values['node'],
}
return FakeModel(base_options)
diff --git a/nova/tests/virt/vmwareapi/test_vmwareapi.py b/nova/tests/virt/vmwareapi/test_vmwareapi.py
index 69a9ffab8..7b1829b84 100644
--- a/nova/tests/virt/vmwareapi/test_vmwareapi.py
+++ b/nova/tests/virt/vmwareapi/test_vmwareapi.py
@@ -1,5 +1,6 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
+# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
# Copyright (c) 2012 VMware, Inc.
# Copyright (c) 2011 Citrix Systems, Inc.
# Copyright 2011 OpenStack Foundation
@@ -111,6 +112,7 @@ class VMwareAPIVMTestCase(test.TestCase):
use_linked_clone=False)
self.user_id = 'fake'
self.project_id = 'fake'
+ self.node_name = 'test_url'
self.context = context.RequestContext(self.user_id, self.project_id)
vmwareapi_fake.reset()
db_fakes.stub_out_db_instance_api(self.stubs)
@@ -143,6 +145,7 @@ class VMwareAPIVMTestCase(test.TestCase):
'ramdisk_id': "1",
'mac_address': "de:ad:be:ef:be:ef",
'instance_type': 'm1.large',
+ 'node': self.node_name,
}
self.instance = db.instance_create(None, values)
@@ -332,14 +335,14 @@ class VMwareAPIVMTestCase(test.TestCase):
self.conn.power_off(self.instance)
info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.SHUTDOWN)
- self.conn.power_on(self.instance)
+ self.conn.power_on(self.context, self.instance, self.network_info)
info = self.conn.get_info({'uuid': 'fake-uuid'})
self._check_vm_info(info, power_state.RUNNING)
def test_power_on_non_existent(self):
self._create_instance_in_the_db()
self.assertRaises(exception.InstanceNotFound, self.conn.power_on,
- self.instance)
+ self.context, self.instance, self.network_info)
def test_power_off(self):
self._create_vm()
@@ -362,6 +365,40 @@ class VMwareAPIVMTestCase(test.TestCase):
self.assertRaises(exception.InstancePowerOffFailure,
self.conn.power_off, self.instance)
+ def test_resume_state_on_host_boot(self):
+ self._create_vm()
+ self.mox.StubOutWithMock(vm_util, 'get_vm_state_from_name')
+ self.mox.StubOutWithMock(self.conn, "reboot")
+ vm_util.get_vm_state_from_name(mox.IgnoreArg(),
+ self.instance['uuid']).AndReturn("poweredOff")
+ self.conn.reboot(self.context, self.instance, 'network_info',
+ 'hard', None)
+ self.mox.ReplayAll()
+ self.conn.resume_state_on_host_boot(self.context, self.instance,
+ 'network_info')
+
+ def test_resume_state_on_host_boot_no_reboot_1(self):
+ """Don't call reboot on instance which is poweredon."""
+ self._create_vm()
+ self.mox.StubOutWithMock(vm_util, 'get_vm_state_from_name')
+ self.mox.StubOutWithMock(self.conn, 'reboot')
+ vm_util.get_vm_state_from_name(mox.IgnoreArg(),
+ self.instance['uuid']).AndReturn("poweredOn")
+ self.mox.ReplayAll()
+ self.conn.resume_state_on_host_boot(self.context, self.instance,
+ 'network_info')
+
+ def test_resume_state_on_host_boot_no_reboot_2(self):
+ """Don't call reboot on instance which is suspended."""
+ self._create_vm()
+ self.mox.StubOutWithMock(vm_util, 'get_vm_state_from_name')
+ self.mox.StubOutWithMock(self.conn, 'reboot')
+ vm_util.get_vm_state_from_name(mox.IgnoreArg(),
+ self.instance['uuid']).AndReturn("suspended")
+ self.mox.ReplayAll()
+ self.conn.resume_state_on_host_boot(self.context, self.instance,
+ 'network_info')
+
def test_get_info(self):
self._create_vm()
info = self.conn.get_info({'uuid': 'fake-uuid'})
@@ -424,7 +461,7 @@ class VMwareAPIVMTestCase(test.TestCase):
self.assertEquals(4, step)
self.assertEqual(vmops.RESIZE_TOTAL_STEPS, total_steps)
- self.stubs.Set(self.conn._vmops, "power_on", fake_power_on)
+ self.stubs.Set(self.conn._vmops, "_power_on", fake_power_on)
self.stubs.Set(self.conn._vmops, "_update_instance_progress",
fake_vmops_update_instance_progress)
@@ -436,6 +473,7 @@ class VMwareAPIVMTestCase(test.TestCase):
instance=self.instance,
disk_info=None,
network_info=None,
+ block_device_info=None,
image_meta=None,
power_on=power_on)
# verify the results
@@ -472,15 +510,20 @@ class VMwareAPIVMTestCase(test.TestCase):
self.assertEquals(self.vm_name, vm_name)
return vmwareapi_fake._get_objects("VirtualMachine")[0]
+ def fake_get_vm_ref_from_uuid(session, vm_uuid):
+ return vmwareapi_fake._get_objects("VirtualMachine")[0]
+
def fake_call_method(*args, **kwargs):
pass
def fake_wait_for_task(*args, **kwargs):
pass
- self.stubs.Set(self.conn._vmops, "power_on", fake_power_on)
+ self.stubs.Set(self.conn._vmops, "_power_on", fake_power_on)
self.stubs.Set(self.conn._vmops, "_get_orig_vm_name_label",
fake_get_orig_vm_name_label)
+ self.stubs.Set(vm_util, "get_vm_ref_from_uuid",
+ fake_get_vm_ref_from_uuid)
self.stubs.Set(vm_util, "get_vm_ref_from_name",
fake_get_vm_ref_from_name)
self.stubs.Set(self.conn._session, "_call_method", fake_call_method)
@@ -500,6 +543,41 @@ class VMwareAPIVMTestCase(test.TestCase):
def test_finish_revert_migration_power_off(self):
self._test_finish_revert_migration(power_on=False)
+ def test_diagnostics_non_existent_vm(self):
+ self._create_instance_in_the_db()
+ self.assertRaises(exception.InstanceNotFound,
+ self.conn.get_diagnostics,
+ self.instance)
+
+ def test_get_console_pool_info(self):
+ info = self.conn.get_console_pool_info("console_type")
+ self.assertEquals(info['address'], 'test_url')
+ self.assertEquals(info['username'], 'test_username')
+ self.assertEquals(info['password'], 'test_pass')
+
+ def test_get_vnc_console_non_existent(self):
+ self._create_instance_in_the_db()
+ self.assertRaises(exception.InstanceNotFound,
+ self.conn.get_vnc_console,
+ self.instance)
+
+ def test_get_vnc_console(self):
+ self._create_instance_in_the_db()
+ self._create_vm()
+ vnc_dict = self.conn.get_vnc_console(self.instance)
+ self.assertEquals(vnc_dict['host'], "ha-host")
+ self.assertEquals(vnc_dict['port'], 5910)
+
+ def test_host_ip_addr(self):
+ self.assertEquals(self.conn.get_host_ip_addr(), "test_url")
+
+ def test_get_volume_connector(self):
+ self._create_instance_in_the_db()
+ connector_dict = self.conn.get_volume_connector(self.instance)
+ self.assertEquals(connector_dict['ip'], "test_url")
+ self.assertEquals(connector_dict['initiator'], "iscsi-name")
+ self.assertEquals(connector_dict['host'], "test_url")
+
class VMwareAPIHostTestCase(test.TestCase):
"""Unit tests for Vmware API host calls."""
@@ -547,3 +625,30 @@ class VMwareAPIHostTestCase(test.TestCase):
def test_host_maintenance_off(self):
self._test_host_action(self.conn.host_maintenance_mode, False)
+
+
+class VMwareAPIVCDriverTestCase(VMwareAPIVMTestCase):
+
+ def setUp(self):
+ super(VMwareAPIVCDriverTestCase, self).setUp()
+ self.flags(
+ vmwareapi_cluster_name='test_cluster',
+ vmwareapi_task_poll_interval=10,
+ vnc_enabled=False
+ )
+ self.conn = driver.VMwareVCDriver(None, False)
+
+ def tearDown(self):
+ super(VMwareAPIVCDriverTestCase, self).tearDown()
+ vmwareapi_fake.cleanup()
+
+ def test_get_available_resource(self):
+ stats = self.conn.get_available_resource(self.node_name)
+ self.assertEquals(stats['vcpus'], 16)
+ self.assertEquals(stats['local_gb'], 1024)
+ self.assertEquals(stats['local_gb_used'], 1024 - 500)
+ self.assertEquals(stats['memory_mb'], 1024)
+ self.assertEquals(stats['memory_mb_used'], 1024 - 524)
+ self.assertEquals(stats['hypervisor_type'], 'VMware ESXi')
+ self.assertEquals(stats['hypervisor_version'], '5.0.0')
+ self.assertEquals(stats['hypervisor_hostname'], 'test_url')
diff --git a/nova/tests/virt/vmwareapi/test_vmwareapi_vm_util.py b/nova/tests/virt/vmwareapi/test_vmwareapi_vm_util.py
index 123a314c1..0456dfece 100644
--- a/nova/tests/virt/vmwareapi/test_vmwareapi_vm_util.py
+++ b/nova/tests/virt/vmwareapi/test_vmwareapi_vm_util.py
@@ -16,6 +16,8 @@
# License for the specific language governing permissions and limitations
# under the License.
+from collections import namedtuple
+
from nova import exception
from nova import test
from nova.virt.vmwareapi import fake
@@ -33,9 +35,11 @@ class fake_session(object):
class VMwareVMUtilTestCase(test.TestCase):
def setUp(self):
super(VMwareVMUtilTestCase, self).setUp()
+ fake.reset()
def tearDown(self):
super(VMwareVMUtilTestCase, self).tearDown()
+ fake.reset()
def test_get_datastore_ref_and_name(self):
result = vm_util.get_datastore_ref_and_name(
@@ -54,3 +58,95 @@ class VMwareVMUtilTestCase(test.TestCase):
self.assertRaises(exception.DatastoreNotFound,
vm_util.get_datastore_ref_and_name,
fake_session(), cluster="fake-cluster")
+
+ def test_get_host_ref_from_id(self):
+
+ fake_host_sys = fake.HostSystem(
+ fake.ManagedObjectReference("HostSystem", "host-123"))
+
+ fake_host_id = fake_host_sys.obj.value
+ fake_host_name = "ha-host"
+
+ ref = vm_util.get_host_ref_from_id(
+ fake_session([fake_host_sys]), fake_host_id, ['name'])
+
+ self.assertIsInstance(ref, fake.HostSystem)
+ self.assertEqual(fake_host_id, ref.obj.value)
+
+ host_name = vm_util.get_host_name_from_host_ref(ref)
+
+ self.assertEquals(fake_host_name, host_name)
+
+ def test_get_host_name_for_vm(self):
+
+ fake_vm = fake.ManagedObject(
+ "VirtualMachine", fake.ManagedObjectReference(
+ "vm-123", "VirtualMachine"))
+ fake_vm.propSet.append(
+ fake.Property('name', 'vm-123'))
+
+ vm_ref = vm_util.get_vm_ref_from_name(
+ fake_session([fake_vm]), 'vm-123')
+
+ self.assertIsNotNone(vm_ref)
+
+ fake_results = [
+ fake.ObjectContent(
+ None, [
+ fake.Property('runtime.host',
+ fake.ManagedObjectReference(
+ 'host-123', 'HostSystem'))
+ ])]
+
+ host_id = vm_util.get_host_id_from_vm_ref(
+ fake_session(fake_results), vm_ref)
+
+ self.assertEqual('host-123', host_id)
+
+ def test_property_from_property_set(self):
+
+ ObjectContent = namedtuple('ObjectContent', ['propSet'])
+ DynamicProperty = namedtuple('Property', ['name', 'val'])
+ MoRef = namedtuple('Val', ['value'])
+
+ results_good = [
+ ObjectContent(propSet=[
+ DynamicProperty(name='name', val=MoRef(value='vm-123'))]),
+ ObjectContent(propSet=[
+ DynamicProperty(name='foo', val=MoRef(value='bar1')),
+ DynamicProperty(
+ name='runtime.host', val=MoRef(value='host-123')),
+ DynamicProperty(name='foo', val=MoRef(value='bar2')),
+ ]),
+ ObjectContent(propSet=[
+ DynamicProperty(
+ name='something', val=MoRef(value='thing'))]), ]
+
+ results_bad = [
+ ObjectContent(propSet=[
+ DynamicProperty(name='name', val=MoRef(value='vm-123'))]),
+ ObjectContent(propSet=[
+ DynamicProperty(name='foo', val='bar1'),
+ DynamicProperty(name='foo', val='bar2'), ]),
+ ObjectContent(propSet=[
+ DynamicProperty(
+ name='something', val=MoRef(value='thing'))]), ]
+
+ prop = vm_util.property_from_property_set(
+ 'runtime.host', results_good)
+ self.assertIsNotNone(prop)
+ value = prop.val.value
+ self.assertEqual('host-123', value)
+
+ prop2 = vm_util.property_from_property_set(
+ 'runtime.host', results_bad)
+ self.assertIsNone(prop2)
+
+ prop3 = vm_util.property_from_property_set('foo', results_good)
+ self.assertIsNotNone(prop3)
+ val3 = prop3.val.value
+ self.assertEqual('bar1', val3)
+
+ prop4 = vm_util.property_from_property_set('foo', results_bad)
+ self.assertIsNotNone(prop4)
+ self.assertEqual('bar1', prop4.val)
diff --git a/nova/tests/virt/xenapi/test_agent.py b/nova/tests/virt/xenapi/test_agent.py
index 9a4d7c345..c81c9ec79 100644
--- a/nova/tests/virt/xenapi/test_agent.py
+++ b/nova/tests/virt/xenapi/test_agent.py
@@ -24,28 +24,28 @@ class AgentEnabledCase(test.TestCase):
def test_agent_is_present(self):
self.flags(xenapi_use_agent_default=False)
instance = {"system_metadata":
- {"image_xenapi_use_agent": "true"}}
+ [{"key": "image_xenapi_use_agent", "value": "true"}]}
self.assertTrue(agent.should_use_agent(instance))
def test_agent_is_disabled(self):
self.flags(xenapi_use_agent_default=True)
instance = {"system_metadata":
- {"image_xenapi_use_agent": "false"}}
+ [{"key": "image_xenapi_use_agent", "value": "false"}]}
self.assertFalse(agent.should_use_agent(instance))
def test_agent_uses_deafault_when_prop_invalid(self):
self.flags(xenapi_use_agent_default=True)
instance = {"system_metadata":
- {"image_xenapi_use_agent": "bob"},
+ [{"key": "image_xenapi_use_agent", "value": "bob"}],
"uuid": "uuid"}
self.assertTrue(agent.should_use_agent(instance))
def test_agent_default_not_present(self):
self.flags(xenapi_use_agent_default=False)
- instance = {"system_metadata": {}}
+ instance = {"system_metadata": []}
self.assertFalse(agent.should_use_agent(instance))
def test_agent_default_present(self):
self.flags(xenapi_use_agent_default=True)
- instance = {"system_metadata": {}}
+ instance = {"system_metadata": []}
self.assertTrue(agent.should_use_agent(instance))
diff --git a/nova/tests/virt/xenapi/test_vm_utils.py b/nova/tests/virt/xenapi/test_vm_utils.py
index 68caab651..6884ab5a8 100644
--- a/nova/tests/virt/xenapi/test_vm_utils.py
+++ b/nova/tests/virt/xenapi/test_vm_utils.py
@@ -266,7 +266,7 @@ class FetchVhdImageTestCase(test.TestCase):
self._apply_stubouts()
self._common_params_setup(True)
- vm_utils._add_bittorrent_params(self.params)
+ vm_utils._add_bittorrent_params(self.image_id, self.params)
vm_utils._fetch_using_dom0_plugin_with_retry(self.context,
self.session, self.image_id, "bittorrent", self.params,
@@ -289,7 +289,7 @@ class FetchVhdImageTestCase(test.TestCase):
self._common_params_setup(True)
self.mox.StubOutWithMock(self.session, 'call_xenapi')
- vm_utils._add_bittorrent_params(self.params)
+ vm_utils._add_bittorrent_params(self.image_id, self.params)
vm_utils._fetch_using_dom0_plugin_with_retry(self.context,
self.session, self.image_id, "bittorrent", self.params,
diff --git a/nova/tests/virt/xenapi/test_xenapi.py b/nova/tests/virt/xenapi/test_xenapi.py
index 91d4f0770..f6ff23aba 100644
--- a/nova/tests/virt/xenapi/test_xenapi.py
+++ b/nova/tests/virt/xenapi/test_xenapi.py
@@ -31,6 +31,7 @@ from nova.compute import power_state
from nova.compute import task_states
from nova.compute import vm_states
from nova import context
+from nova import crypto
from nova import db
from nova import exception
from nova.openstack.common import importutils
@@ -983,13 +984,14 @@ class XenAPIVMTestCase(stubs.XenAPITestBase):
actual_injected_files.append((path, contents))
return jsonutils.dumps({'returncode': '0', 'message': 'success'})
- def noop(*args, **kwargs):
- pass
-
self.stubs.Set(stubs.FakeSessionForVMTests,
'_plugin_agent_inject_file', fake_inject_file)
- self.stubs.Set(agent.XenAPIBasedAgent,
- 'set_admin_password', noop)
+
+ def fake_encrypt_text(sshkey, new_pass):
+ self.assertEqual("fake_keydata", sshkey)
+ return "fake"
+
+ self.stubs.Set(crypto, 'ssh_encrypt_text', fake_encrypt_text)
expected_data = ('\n# The following ssh key was injected by '
'Nova\nfake_keydata\n')
@@ -1020,6 +1022,93 @@ class XenAPIVMTestCase(stubs.XenAPITestBase):
self.check_vm_params_for_linux()
self.assertEquals(actual_injected_files, injected_files)
+ def test_spawn_agent_upgrade(self):
+ self.flags(xenapi_use_agent_default=True)
+ actual_injected_files = []
+
+ def fake_agent_build(_self, *args):
+ return {"version": "1.1.0", "architecture": "x86-64",
+ "hypervisor": "xen", "os": "windows",
+ "url": "url", "md5hash": "asdf"}
+
+ self.stubs.Set(self.conn.virtapi, 'agent_build_get_by_triple',
+ fake_agent_build)
+
+ self._test_spawn(IMAGE_VHD, None, None,
+ os_type="linux", architecture="x86-64")
+
+ def test_spawn_agent_upgrade_fails_silently(self):
+ self.flags(xenapi_use_agent_default=True)
+ actual_injected_files = []
+
+ def fake_agent_build(_self, *args):
+ return {"version": "1.1.0", "architecture": "x86-64",
+ "hypervisor": "xen", "os": "windows",
+ "url": "url", "md5hash": "asdf"}
+
+ self.stubs.Set(self.conn.virtapi, 'agent_build_get_by_triple',
+ fake_agent_build)
+
+ def fake_agent_update(self, method, args):
+ raise xenapi_fake.Failure(["fake_error"])
+
+ self.stubs.Set(stubs.FakeSessionForVMTests,
+ '_plugin_agent_agentupdate', fake_agent_update)
+
+ self._test_spawn(IMAGE_VHD, None, None,
+ os_type="linux", architecture="x86-64")
+
+ def _test_spawn_fails_with(self, trigger, expected_exception):
+ self.flags(xenapi_use_agent_default=True)
+ self.flags(agent_version_timeout=0)
+ actual_injected_files = []
+
+ def fake_agent_version(self, method, args):
+ raise xenapi_fake.Failure([trigger])
+
+ self.stubs.Set(stubs.FakeSessionForVMTests,
+ '_plugin_agent_version', fake_agent_version)
+
+ self.assertRaises(expected_exception, self._test_spawn,
+ IMAGE_VHD, None, None, os_type="linux", architecture="x86-64")
+
+ def test_spawn_fails_with_agent_timeout(self):
+ self._test_spawn_fails_with("TIMEOUT:fake", exception.AgentTimeout)
+
+ def test_spawn_fails_with_agent_not_implemented(self):
+ self._test_spawn_fails_with("NOT IMPLEMENTED:fake",
+ exception.AgentNotImplemented)
+
+ def test_spawn_fails_with_agent_error(self):
+ self._test_spawn_fails_with("fake_error", exception.AgentError)
+
+ def test_spawn_fails_with_agent_bad_return(self):
+ self.flags(xenapi_use_agent_default=True)
+ self.flags(agent_version_timeout=0)
+ actual_injected_files = []
+
+ def fake_agent_version(self, method, args):
+ return xenapi_fake.as_json(returncode='-1', message='fake')
+ self.stubs.Set(stubs.FakeSessionForVMTests,
+ '_plugin_agent_version', fake_agent_version)
+
+ self.assertRaises(exception.AgentError, self._test_spawn,
+ IMAGE_VHD, None, None, os_type="linux", architecture="x86-64")
+
+ def test_spawn_fails_agent_not_implemented(self):
+ # Test spawning with injected_files.
+ self.flags(xenapi_use_agent_default=True)
+ self.flags(agent_version_timeout=0)
+ actual_injected_files = []
+
+ def fake_agent_version(self, method, args):
+ raise xenapi_fake.Failure(["NOT IMPLEMENTED:fake"])
+ self.stubs.Set(stubs.FakeSessionForVMTests,
+ '_plugin_agent_version', fake_agent_version)
+
+ self.assertRaises(exception.AgentNotImplemented, self._test_spawn,
+ IMAGE_VHD, None, None, os_type="linux", architecture="x86-64")
+
def test_rescue(self):
instance = self._create_instance()
session = xenapi_conn.XenAPISession('test_url', 'root', 'test_pass',
diff --git a/nova/utils.py b/nova/utils.py
index fe360cac6..9976e2858 100644
--- a/nova/utils.py
+++ b/nova/utils.py
@@ -95,6 +95,14 @@ BYTE_MULTIPLIERS = {
'k': 1024,
}
+# used in limits
+TIME_UNITS = {
+ 'SECOND': 1,
+ 'MINUTE': 60,
+ 'HOUR': 3600,
+ 'DAY': 84400
+}
+
synchronized = lockutils.synchronized_with_prefix('nova-')
@@ -321,6 +329,62 @@ def last_octet(address):
return int(address.split('.')[-1])
+def get_my_ipv4_address():
+ """Run ip route/addr commands to figure out the best ipv4
+ """
+ LOCALHOST = '127.0.0.1'
+ try:
+ out = execute('ip', '-f', 'inet', '-o', 'route', 'show',
+ run_as_root=True)
+
+ # Find the default route
+ regex_default = ('default\s*via\s*'
+ '(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})'
+ '\s*dev\s*(\w*)\s*')
+ default_routes = re.findall(regex_default, out[0])
+ if not default_routes:
+ return LOCALHOST
+ gateway, iface = default_routes[0]
+
+ # Find the right subnet for the gateway/interface for
+ # the default route
+ route = ('(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\/(\d{1,2})'
+ '\s*dev\s*(\w*)\s*')
+ for match in re.finditer(route, out[0]):
+ subnet = netaddr.IPNetwork(match.group(1) + "/" + match.group(2))
+ if (match.group(3) == iface and
+ netaddr.IPAddress(gateway) in subnet):
+ try:
+ return _get_ipv4_address_for_interface(iface)
+ except exception.NovaException:
+ pass
+ except Exception as ex:
+ LOG.error(_("Couldn't get IPv4 : %(ex)s") % {'ex': ex})
+ return LOCALHOST
+
+
+def _get_ipv4_address_for_interface(iface):
+ """Run ip addr show for an interface and grab its ipv4 addresses
+ """
+ try:
+ out = execute('ip', '-f', 'inet', '-o', 'addr', 'show', iface,
+ run_as_root=True)
+ regexp_address = re.compile('inet\s*'
+ '(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})')
+ address = [m.group(1) for m in regexp_address.finditer(out[0])
+ if m.group(1) != '127.0.0.1']
+ if address:
+ return address[0]
+ else:
+ msg = _('IPv4 address is not found.: %s') % out[0]
+ raise exception.NovaException(msg)
+ except Exception as ex:
+ msg = _("Couldn't get IPv4 of %(interface)s"
+ " : %(ex)s") % {'interface': iface, 'ex': ex}
+ LOG.error(msg)
+ raise exception.NovaException(msg)
+
+
def get_my_linklocal(interface):
try:
if_str = execute('ip', '-f', 'inet6', '-o', 'addr', 'show', interface)
@@ -411,34 +475,6 @@ def utf8(value):
return value
-def to_bytes(text, default=0):
- """Try to turn a string into a number of bytes. Looks at the last
- characters of the text to determine what conversion is needed to
- turn the input text into a byte number.
-
- Supports: B/b, K/k, M/m, G/g, T/t (or the same with b/B on the end)
-
- """
- # Take off everything not number 'like' (which should leave
- # only the byte 'identifier' left)
- mult_key_org = text.lstrip('-1234567890')
- mult_key = mult_key_org.lower()
- mult_key_len = len(mult_key)
- if mult_key.endswith("b"):
- mult_key = mult_key[0:-1]
- try:
- multiplier = BYTE_MULTIPLIERS[mult_key]
- if mult_key_len:
- # Empty cases shouldn't cause text[0:-0]
- text = text[0:-mult_key_len]
- return int(text) * multiplier
- except KeyError:
- msg = _('Unknown byte multiplier: %s') % mult_key_org
- raise TypeError(msg)
- except ValueError:
- return default
-
-
def get_from_path(items, path):
"""Returns a list of items matching the specified path.
@@ -1001,6 +1037,13 @@ def dict_to_metadata(metadata):
return result
+def instance_meta(instance):
+ if isinstance(instance['metadata'], dict):
+ return instance['metadata']
+ else:
+ return metadata_to_dict(instance['metadata'])
+
+
def instance_sys_meta(instance):
if isinstance(instance['system_metadata'], dict):
return instance['system_metadata']
@@ -1078,3 +1121,13 @@ def spawn_n(func, *args, **kwargs):
interfering with the service spawns.
"""
eventlet.spawn_n(func, *args, **kwargs)
+
+
+def is_none_string(val):
+ """
+ Check if a string represents a None value.
+ """
+ if not isinstance(val, basestring):
+ return False
+
+ return val.lower() == 'none'
diff --git a/nova/virt/baremetal/base.py b/nova/virt/baremetal/base.py
index 2029400ba..876c70b23 100644
--- a/nova/virt/baremetal/base.py
+++ b/nova/virt/baremetal/base.py
@@ -30,7 +30,7 @@ class NodeDriver(object):
def destroy_images(self, context, node, instance):
raise NotImplementedError()
- def activate_bootloader(self, context, node, instance):
+ def activate_bootloader(self, context, node, instance, **kwargs):
raise NotImplementedError()
def deactivate_bootloader(self, context, node, instance):
diff --git a/nova/virt/baremetal/db/api.py b/nova/virt/baremetal/db/api.py
index 91edc05d9..3943b7902 100644
--- a/nova/virt/baremetal/db/api.py
+++ b/nova/virt/baremetal/db/api.py
@@ -121,42 +121,6 @@ def bm_node_associate_and_update(context, node_uuid, values):
return IMPL.bm_node_associate_and_update(context, node_uuid, values)
-def bm_pxe_ip_create(context, address, server_address):
- return IMPL.bm_pxe_ip_create(context, address, server_address)
-
-
-def bm_pxe_ip_create_direct(context, bm_pxe_ip):
- return IMPL.bm_pxe_ip_create_direct(context, bm_pxe_ip)
-
-
-def bm_pxe_ip_destroy(context, ip_id):
- return IMPL.bm_pxe_ip_destroy(context, ip_id)
-
-
-def bm_pxe_ip_destroy_by_address(context, address):
- return IMPL.bm_pxe_ip_destroy_by_address(context, address)
-
-
-def bm_pxe_ip_get_all(context):
- return IMPL.bm_pxe_ip_get_all(context)
-
-
-def bm_pxe_ip_get(context, ip_id):
- return IMPL.bm_pxe_ip_get(context, ip_id)
-
-
-def bm_pxe_ip_get_by_bm_node_id(context, bm_node_id):
- return IMPL.bm_pxe_ip_get_by_bm_node_id(context, bm_node_id)
-
-
-def bm_pxe_ip_associate(context, bm_node_id):
- return IMPL.bm_pxe_ip_associate(context, bm_node_id)
-
-
-def bm_pxe_ip_disassociate(context, bm_node_id):
- return IMPL.bm_pxe_ip_disassociate(context, bm_node_id)
-
-
def bm_interface_get(context, if_id):
return IMPL.bm_interface_get(context, if_id)
diff --git a/nova/virt/baremetal/db/sqlalchemy/api.py b/nova/virt/baremetal/db/sqlalchemy/api.py
index 88d44e3d3..3c140556e 100644
--- a/nova/virt/baremetal/db/sqlalchemy/api.py
+++ b/nova/virt/baremetal/db/sqlalchemy/api.py
@@ -236,111 +236,6 @@ def bm_node_destroy(context, bm_node_id):
@sqlalchemy_api.require_admin_context
-def bm_pxe_ip_get_all(context):
- query = model_query(context, models.BareMetalPxeIp, read_deleted="no")
- return query.all()
-
-
-@sqlalchemy_api.require_admin_context
-def bm_pxe_ip_create(context, address, server_address):
- ref = models.BareMetalPxeIp()
- ref.address = address
- ref.server_address = server_address
- _save(ref)
- return ref
-
-
-@sqlalchemy_api.require_admin_context
-def bm_pxe_ip_create_direct(context, bm_pxe_ip):
- ref = bm_pxe_ip_create(context,
- address=bm_pxe_ip['address'],
- server_address=bm_pxe_ip['server_address'])
- return ref
-
-
-@sqlalchemy_api.require_admin_context
-def bm_pxe_ip_destroy(context, ip_id):
- # Delete physically since it has unique columns
- model_query(context, models.BareMetalPxeIp, read_deleted="no").\
- filter_by(id=ip_id).\
- delete()
-
-
-@sqlalchemy_api.require_admin_context
-def bm_pxe_ip_destroy_by_address(context, address):
- # Delete physically since it has unique columns
- model_query(context, models.BareMetalPxeIp, read_deleted="no").\
- filter_by(address=address).\
- delete()
-
-
-@sqlalchemy_api.require_admin_context
-def bm_pxe_ip_get(context, ip_id):
- result = model_query(context, models.BareMetalPxeIp, read_deleted="no").\
- filter_by(id=ip_id).\
- first()
-
- return result
-
-
-@sqlalchemy_api.require_admin_context
-def bm_pxe_ip_get_by_bm_node_id(context, bm_node_id):
- result = model_query(context, models.BareMetalPxeIp, read_deleted="no").\
- filter_by(bm_node_id=bm_node_id).\
- first()
-
- if not result:
- raise exception.NodeNotFound(node_id=bm_node_id)
-
- return result
-
-
-@sqlalchemy_api.require_admin_context
-def bm_pxe_ip_associate(context, bm_node_id):
- session = db_session.get_session()
- with session.begin():
- # Check if the node really exists
- node_ref = model_query(context, models.BareMetalNode,
- read_deleted="no", session=session).\
- filter_by(id=bm_node_id).\
- first()
- if not node_ref:
- raise exception.NodeNotFound(node_id=bm_node_id)
-
- # Check if the node already has a pxe_ip
- ip_ref = model_query(context, models.BareMetalPxeIp,
- read_deleted="no", session=session).\
- filter_by(bm_node_id=bm_node_id).\
- first()
- if ip_ref:
- return ip_ref.id
-
- # with_lockmode('update') and filter_by(bm_node_id=None) will lock all
- # records. It may cause a performance problem in high-concurrency
- # environment.
- ip_ref = model_query(context, models.BareMetalPxeIp,
- read_deleted="no", session=session).\
- filter_by(bm_node_id=None).\
- with_lockmode('update').\
- first()
-
- # this exception is not caught in nova/compute/manager
- if not ip_ref:
- raise exception.NovaException(_("No more PXE IPs available"))
-
- ip_ref.bm_node_id = bm_node_id
- session.add(ip_ref)
- return ip_ref.id
-
-
-@sqlalchemy_api.require_admin_context
-def bm_pxe_ip_disassociate(context, bm_node_id):
- model_query(context, models.BareMetalPxeIp, read_deleted="no").\
- filter_by(bm_node_id=bm_node_id).\
- update({'bm_node_id': None})
-
-
-@sqlalchemy_api.require_admin_context
def bm_interface_get(context, if_id):
result = model_query(context, models.BareMetalInterface,
read_deleted="no").\
@@ -402,8 +297,7 @@ def bm_interface_set_vif_uuid(context, if_id, vif_uuid):
if str(e).find('IntegrityError') != -1:
raise exception.NovaException(_("Baremetal interface %s "
"already in use") % vif_uuid)
- else:
- raise e
+ raise
@sqlalchemy_api.require_admin_context
diff --git a/nova/virt/baremetal/db/sqlalchemy/migrate_repo/versions/008_remove_bm_pxe_ips_table.py b/nova/virt/baremetal/db/sqlalchemy/migrate_repo/versions/008_remove_bm_pxe_ips_table.py
new file mode 100644
index 000000000..22b45c480
--- /dev/null
+++ b/nova/virt/baremetal/db/sqlalchemy/migrate_repo/versions/008_remove_bm_pxe_ips_table.py
@@ -0,0 +1,61 @@
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2013 Mirantis Inc.
+# All Rights Reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from sqlalchemy import Boolean
+from sqlalchemy import Column
+from sqlalchemy import DateTime
+from sqlalchemy import Index
+from sqlalchemy import Integer
+from sqlalchemy import MetaData
+from sqlalchemy import String
+from sqlalchemy import Table
+
+
+table_name = 'bm_pxe_ips'
+
+
+def upgrade(migrate_engine):
+ meta = MetaData()
+ meta.bind = migrate_engine
+
+ table = Table(table_name, meta, autoload=True)
+ table.drop()
+
+
+def downgrade(migrate_engine):
+ meta = MetaData()
+ meta.bind = migrate_engine
+
+ bm_pxe_ips = Table(table_name, meta,
+ Column('created_at', DateTime),
+ Column('updated_at', DateTime),
+ Column('deleted_at', DateTime),
+ Column('deleted', Boolean),
+ Column('id', Integer, primary_key=True, nullable=False),
+ Column('address', String(length=255), unique=True),
+ Column('bm_node_id', Integer),
+ Column('server_address',
+ String(length=255), unique=True),
+ mysql_engine='InnoDB',
+ )
+ bm_pxe_ips.create()
+
+ Index(
+ 'idx_bm_pxe_ips_bm_node_id_deleted',
+ bm_pxe_ips.c.bm_node_id,
+ bm_pxe_ips.c.deleted
+ ).create(migrate_engine)
diff --git a/nova/virt/baremetal/db/sqlalchemy/models.py b/nova/virt/baremetal/db/sqlalchemy/models.py
index dbc9386ec..e21999634 100644
--- a/nova/virt/baremetal/db/sqlalchemy/models.py
+++ b/nova/virt/baremetal/db/sqlalchemy/models.py
@@ -54,15 +54,6 @@ class BareMetalNode(BASE, models.NovaBase):
swap_mb = Column(Integer)
-class BareMetalPxeIp(BASE, models.NovaBase):
- __tablename__ = 'bm_pxe_ips'
- id = Column(Integer, primary_key=True)
- deleted = Column(Boolean, default=False)
- address = Column(String(255), unique=True)
- server_address = Column(String(255), unique=True)
- bm_node_id = Column(Integer, ForeignKey('bm_nodes.id'), nullable=True)
-
-
class BareMetalInterface(BASE, models.NovaBase):
__tablename__ = 'bm_interfaces'
id = Column(Integer, primary_key=True)
diff --git a/nova/virt/baremetal/driver.py b/nova/virt/baremetal/driver.py
index 376921360..703cc0980 100755
--- a/nova/virt/baremetal/driver.py
+++ b/nova/virt/baremetal/driver.py
@@ -248,8 +248,10 @@ class BareMetalDriver(driver.ComputeDriver):
injected_files=injected_files,
network_info=network_info,
)
- self.driver.activate_bootloader(context, node, instance)
- self.power_on(instance, node)
+ self.driver.activate_bootloader(context, node, instance,
+ network_info=network_info)
+ self.power_on(context, instance, network_info, block_device_info,
+ node)
self.driver.activate_node(context, node, instance)
_update_state(context, node, instance, baremetal_states.ACTIVE)
except Exception:
@@ -330,7 +332,8 @@ class BareMetalDriver(driver.ComputeDriver):
"for instance %r") % instance['uuid'])
pm.stop_console()
- def power_on(self, instance, node=None):
+ def power_on(self, context, instance, network_info, block_device_info=None,
+ node=None):
"""Power on the specified instance."""
if not node:
node = _get_baremetal_node_by_instance_uuid(instance['uuid'])
diff --git a/nova/virt/baremetal/fake.py b/nova/virt/baremetal/fake.py
index b3f39fdc3..76586ab74 100644
--- a/nova/virt/baremetal/fake.py
+++ b/nova/virt/baremetal/fake.py
@@ -28,7 +28,7 @@ class FakeDriver(base.NodeDriver):
def destroy_images(self, context, node, instance):
pass
- def activate_bootloader(self, context, node, instance):
+ def activate_bootloader(self, context, node, instance, **kwargs):
pass
def deactivate_bootloader(self, context, node, instance):
diff --git a/nova/virt/baremetal/pxe.py b/nova/virt/baremetal/pxe.py
index 6a5a5ece5..21fc2ce47 100644
--- a/nova/virt/baremetal/pxe.py
+++ b/nova/virt/baremetal/pxe.py
@@ -54,6 +54,10 @@ pxe_opts = [
cfg.IntOpt('pxe_deploy_timeout',
help='Timeout for PXE deployments. Default: 0 (unlimited)',
default=0),
+ cfg.BoolOpt('pxe_network_config',
+ help='If set, pass the network configuration details to the '
+ 'initramfs via cmdline.',
+ default=False),
]
LOG = logging.getLogger(__name__)
@@ -77,9 +81,22 @@ def _get_cheetah():
return CHEETAH
+def build_pxe_network_config(network_info):
+ interfaces = bm_utils.map_network_interfaces(network_info, CONF.use_ipv6)
+ template = None
+ if not CONF.use_ipv6:
+ template = "ip=%(address)s::%(gateway)s:%(netmask)s::%(name)s:off"
+ else:
+ template = ("ip=[%(address_v6)s]::[%(gateway_v6)s]:"
+ "[%(netmask_v6)s]::%(name)s:off")
+
+ net_config = [template % iface for iface in interfaces]
+ return ' '.join(net_config)
+
+
def build_pxe_config(deployment_id, deployment_key, deployment_iscsi_iqn,
deployment_aki_path, deployment_ari_path,
- aki_path, ari_path):
+ aki_path, ari_path, network_info):
"""Build the PXE config file for a node
This method builds the PXE boot configuration file for a node,
@@ -90,6 +107,11 @@ def build_pxe_config(deployment_id, deployment_key, deployment_iscsi_iqn,
"""
LOG.debug(_("Building PXE config for deployment %s.") % deployment_id)
+
+ network_config = None
+ if network_info and CONF.baremetal.pxe_network_config:
+ network_config = build_pxe_network_config(network_info)
+
pxe_options = {
'deployment_id': deployment_id,
'deployment_key': deployment_key,
@@ -99,6 +121,7 @@ def build_pxe_config(deployment_id, deployment_key, deployment_iscsi_iqn,
'aki_path': aki_path,
'ari_path': ari_path,
'pxe_append_params': CONF.baremetal.pxe_append_params,
+ 'pxe_network_config': network_config,
}
cheetah = _get_cheetah()
pxe_config = str(cheetah(
@@ -110,33 +133,7 @@ def build_pxe_config(deployment_id, deployment_key, deployment_iscsi_iqn,
def build_network_config(network_info):
- # TODO(deva): fix assumption that device names begin with "eth"
- # and fix assumption about ordering
- try:
- assert isinstance(network_info, list)
- except AssertionError:
- network_info = [network_info]
- interfaces = []
- for id, (network, mapping) in enumerate(network_info):
- address_v6 = None
- gateway_v6 = None
- netmask_v6 = None
- if CONF.use_ipv6:
- address_v6 = mapping['ip6s'][0]['ip']
- netmask_v6 = mapping['ip6s'][0]['netmask']
- gateway_v6 = mapping['gateway_v6']
- interface = {
- 'name': 'eth%d' % id,
- 'address': mapping['ips'][0]['ip'],
- 'gateway': mapping['gateway'],
- 'netmask': mapping['ips'][0]['netmask'],
- 'dns': ' '.join(mapping['dns']),
- 'address_v6': address_v6,
- 'gateway_v6': gateway_v6,
- 'netmask_v6': netmask_v6,
- }
- interfaces.append(interface)
-
+ interfaces = bm_utils.map_network_interfaces(network_info, CONF.use_ipv6)
cheetah = _get_cheetah()
network_config = str(cheetah(
open(CONF.baremetal.net_config_template).read(),
@@ -216,7 +213,7 @@ def get_tftp_image_info(instance, instance_type):
image_info['ramdisk'][0] = str(instance['ramdisk_id'])
image_info['deploy_kernel'][0] = get_deploy_aki_id(instance_type)
image_info['deploy_ramdisk'][0] = get_deploy_ari_id(instance_type)
- except KeyError as e:
+ except KeyError:
pass
missing_labels = []
@@ -354,7 +351,7 @@ class PXE(base.NodeDriver):
bm_utils.unlink_without_raise(get_image_file_path(instance))
bm_utils.rmtree_without_raise(get_image_dir_path(instance))
- def activate_bootloader(self, context, node, instance):
+ def activate_bootloader(self, context, node, instance, network_info):
"""Configure PXE boot loader for an instance
Kernel and ramdisk images are downloaded by cache_tftp_images,
@@ -398,6 +395,7 @@ class PXE(base.NodeDriver):
image_info['deploy_ramdisk'][1],
image_info['kernel'][1],
image_info['ramdisk'][1],
+ network_info,
)
bm_utils.write_to_file(pxe_config_file_path, pxe_config)
diff --git a/nova/virt/baremetal/pxe_config.template b/nova/virt/baremetal/pxe_config.template
index f2fcc9b14..54dd98baf 100644
--- a/nova/virt/baremetal/pxe_config.template
+++ b/nova/virt/baremetal/pxe_config.template
@@ -8,4 +8,4 @@ ipappend 3
label boot
kernel ${pxe_options.aki_path}
-append initrd=${pxe_options.ari_path} root=${ROOT} ro ${pxe_options.pxe_append_params}
+append initrd=${pxe_options.ari_path} root=${ROOT} ro ${pxe_options.pxe_append_params} ${pxe_options.pxe_network_config}
diff --git a/nova/virt/baremetal/tilera.py b/nova/virt/baremetal/tilera.py
index 64335298c..36127bfa2 100755
--- a/nova/virt/baremetal/tilera.py
+++ b/nova/virt/baremetal/tilera.py
@@ -55,31 +55,7 @@ def _get_cheetah():
def build_network_config(network_info):
- try:
- assert isinstance(network_info, list)
- except AssertionError:
- network_info = [network_info]
- interfaces = []
- for id, (network, mapping) in enumerate(network_info):
- address_v6 = None
- gateway_v6 = None
- netmask_v6 = None
- if CONF.use_ipv6:
- address_v6 = mapping['ip6s'][0]['ip']
- netmask_v6 = mapping['ip6s'][0]['netmask']
- gateway_v6 = mapping['gateway_v6']
- interface = {
- 'name': 'eth%d' % id,
- 'address': mapping['ips'][0]['ip'],
- 'gateway': mapping['gateway'],
- 'netmask': mapping['ips'][0]['netmask'],
- 'dns': ' '.join(mapping['dns']),
- 'address_v6': address_v6,
- 'gateway_v6': gateway_v6,
- 'netmask_v6': netmask_v6,
- }
- interfaces.append(interface)
-
+ interfaces = bm_utils.map_network_interfaces(network_info, CONF.use_ipv6)
cheetah = _get_cheetah()
network_config = str(cheetah(
open(CONF.baremetal.net_config_template).read(),
@@ -130,7 +106,7 @@ def get_tftp_image_info(instance):
}
try:
image_info['kernel'][0] = str(instance['kernel_id'])
- except KeyError as e:
+ except KeyError:
pass
missing_labels = []
@@ -262,7 +238,7 @@ class Tilera(base.NodeDriver):
bm_utils.unlink_without_raise(get_image_file_path(instance))
bm_utils.rmtree_without_raise(get_image_dir_path(instance))
- def activate_bootloader(self, context, node, instance):
+ def activate_bootloader(self, context, node, instance, network_info):
"""Configure Tilera boot loader for an instance
Kernel and ramdisk images are downloaded by cache_tftp_images,
@@ -371,7 +347,7 @@ class Tilera(base.NodeDriver):
user_data = instance['user_data']
try:
self._iptables_set(node_ip, user_data)
- except Exception as ex:
+ except Exception:
self.deactivate_bootloader(context, node, instance)
raise exception.NovaException(_("Node is "
"unknown error state."))
diff --git a/nova/virt/baremetal/tilera_pdu.py b/nova/virt/baremetal/tilera_pdu.py
index 0e491168f..90f9287e4 100755
--- a/nova/virt/baremetal/tilera_pdu.py
+++ b/nova/virt/baremetal/tilera_pdu.py
@@ -109,7 +109,7 @@ class Pdu(base.PowerManager):
return CONF.baremetal.tile_pdu_off
else:
try:
- out = utils.execute(CONF.baremetal.tile_pdu_mgr,
+ utils.execute(CONF.baremetal.tile_pdu_mgr,
CONF.baremetal.tile_pdu_ip, mode)
time.sleep(CONF.baremetal.tile_power_wait)
return mode
diff --git a/nova/virt/baremetal/utils.py b/nova/virt/baremetal/utils.py
index b18bfac85..96abcd41b 100644
--- a/nova/virt/baremetal/utils.py
+++ b/nova/virt/baremetal/utils.py
@@ -81,3 +81,32 @@ def random_alnum(count):
import string
chars = string.ascii_uppercase + string.digits
return "".join(random.choice(chars) for _ in range(count))
+
+
+def map_network_interfaces(network_info, use_ipv6=False):
+ # TODO(deva): fix assumption that device names begin with "eth"
+ # and fix assumption about ordering
+ if not isinstance(network_info, list):
+ network_info = [network_info]
+
+ interfaces = []
+ for id, (network, mapping) in enumerate(network_info):
+ address_v6 = None
+ gateway_v6 = None
+ netmask_v6 = None
+ if use_ipv6:
+ address_v6 = mapping['ip6s'][0]['ip']
+ netmask_v6 = mapping['ip6s'][0]['netmask']
+ gateway_v6 = mapping['gateway_v6']
+ interface = {
+ 'name': 'eth%d' % id,
+ 'address': mapping['ips'][0]['ip'],
+ 'gateway': mapping['gateway'],
+ 'netmask': mapping['ips'][0]['netmask'],
+ 'dns': ' '.join(mapping['dns']),
+ 'address_v6': address_v6,
+ 'gateway_v6': gateway_v6,
+ 'netmask_v6': netmask_v6,
+ }
+ interfaces.append(interface)
+ return interfaces
diff --git a/nova/virt/baremetal/virtual_power_driver.py b/nova/virt/baremetal/virtual_power_driver.py
index e110bf436..303e5a009 100644
--- a/nova/virt/baremetal/virtual_power_driver.py
+++ b/nova/virt/baremetal/virtual_power_driver.py
@@ -59,7 +59,6 @@ CONF.register_group(baremetal_vp)
CONF.register_opts(opts, baremetal_vp)
_conn = None
-_virtual_power_settings = None
_vp_cmd = None
_cmds = None
@@ -84,7 +83,6 @@ class VirtualPowerManager(base.PowerManager):
"""
def __init__(self, **kwargs):
global _conn
- global _virtual_power_settings
global _cmds
if _cmds is None:
diff --git a/nova/virt/baremetal/volume_driver.py b/nova/virt/baremetal/volume_driver.py
index 6cf6b775f..f634fa76a 100644
--- a/nova/virt/baremetal/volume_driver.py
+++ b/nova/virt/baremetal/volume_driver.py
@@ -21,6 +21,7 @@ import re
from oslo.config import cfg
from nova import context as nova_context
+from nova.db import api as nova_db_api
from nova import exception
from nova.openstack.common import importutils
from nova.openstack.common import log as logging
@@ -219,10 +220,9 @@ class LibvirtVolumeDriver(VolumeDriver):
return method(connection_info, *args, **kwargs)
def attach_volume(self, connection_info, instance, mountpoint):
- node = _get_baremetal_node_by_instance_uuid(instance['uuid'])
ctx = nova_context.get_admin_context()
- pxe_ip = bmdb.bm_pxe_ip_get_by_bm_node_id(ctx, node['id'])
- if not pxe_ip:
+ fixed_ips = nova_db_api.fixed_ip_get_by_instance(ctx, instance['uuid'])
+ if not fixed_ips:
if not CONF.baremetal.use_unsafe_iscsi:
raise exception.NovaException(_(
'No fixed PXE IP is associated to %s') % instance['uuid'])
@@ -236,8 +236,9 @@ class LibvirtVolumeDriver(VolumeDriver):
tid = _get_next_tid()
_create_iscsi_export_tgtadm(device_path, tid, iqn)
- if pxe_ip:
- _allow_iscsi_tgtadm(tid, pxe_ip['address'])
+ if fixed_ips:
+ for ip in fixed_ips:
+ _allow_iscsi_tgtadm(tid, ip['address'])
else:
# NOTE(NTTdocomo): Since nova-compute does not know the
# instance's initiator ip, it allows any initiators
diff --git a/nova/virt/configdrive.py b/nova/virt/configdrive.py
index 173dd457b..d4038457f 100644
--- a/nova/virt/configdrive.py
+++ b/nova/virt/configdrive.py
@@ -179,7 +179,3 @@ class ConfigDriveBuilder(object):
def required_by(instance):
return instance.get('config_drive') or CONF.force_config_drive
-
-
-def enabled_for(instance):
- return required_by(instance) or instance.get('config_drive_id')
diff --git a/nova/virt/disk/vfs/localfs.py b/nova/virt/disk/vfs/localfs.py
index 10b9a1aa8..735481340 100644
--- a/nova/virt/disk/vfs/localfs.py
+++ b/nova/virt/disk/vfs/localfs.py
@@ -18,6 +18,7 @@ import os
import tempfile
from nova import exception
+from nova.openstack.common import excutils
from nova.openstack.common import log as logging
from nova import utils
from nova.virt.disk.mount import loop
@@ -77,10 +78,9 @@ class VFSLocalFS(vfs.VFS):
raise exception.NovaException(mount.error)
self.mount = mount
except Exception as e:
- LOG.debug(_("Failed to mount image %(ex)s)") %
- {'ex': str(e)})
- self.teardown()
- raise e
+ with excutils.save_and_reraise_exception():
+ LOG.debug(_("Failed to mount image %(ex)s)"), {'ex': str(e)})
+ self.teardown()
def teardown(self):
try:
diff --git a/nova/virt/driver.py b/nova/virt/driver.py
index fbc2a5640..7b2185f52 100755
--- a/nova/virt/driver.py
+++ b/nova/virt/driver.py
@@ -425,7 +425,8 @@ class ComputeDriver(object):
"""Power off the specified instance."""
raise NotImplementedError()
- def power_on(self, instance):
+ def power_on(self, context, instance, network_info,
+ block_device_info=None):
"""Power on the specified instance."""
raise NotImplementedError()
diff --git a/nova/virt/fake.py b/nova/virt/fake.py
index 801c8e827..1d8943101 100755
--- a/nova/virt/fake.py
+++ b/nova/virt/fake.py
@@ -182,7 +182,7 @@ class FakeDriver(driver.ComputeDriver):
def power_off(self, instance):
pass
- def power_on(self, instance):
+ def power_on(self, context, instance, network_info, block_device_info):
pass
def soft_delete(self, instance):
diff --git a/nova/virt/hyperv/driver.py b/nova/virt/hyperv/driver.py
index 675f36f54..e0f533db6 100755
--- a/nova/virt/hyperv/driver.py
+++ b/nova/virt/hyperv/driver.py
@@ -103,7 +103,8 @@ class HyperVDriver(driver.ComputeDriver):
def power_off(self, instance):
self._vmops.power_off(instance)
- def power_on(self, instance):
+ def power_on(self, context, instance, network_info,
+ block_device_info=None):
self._vmops.power_on(instance)
def live_migration(self, context, instance_ref, dest, post_method,
diff --git a/nova/virt/hyperv/imagecache.py b/nova/virt/hyperv/imagecache.py
index 8f29a62dc..6186b81c2 100644
--- a/nova/virt/hyperv/imagecache.py
+++ b/nova/virt/hyperv/imagecache.py
@@ -66,11 +66,12 @@ class ImageCache(object):
root_vhd_size = root_vhd_size_gb * 1024 ** 3
if root_vhd_size < vhd_size:
- raise vmutils.HyperVException(_("Cannot resize the image to a "
- "size smaller than the VHD max. "
- "internal size: %(vhd_size)s. "
- "Requested disk size: "
- "%(root_vhd_size)s") % locals())
+ raise vmutils.HyperVException(
+ _("Cannot resize the image to a size smaller than the VHD "
+ "max. internal size: %(vhd_size)s. Requested disk size: "
+ "%(root_vhd_size)s") %
+ {'vhd_size': vhd_size, 'root_vhd_size': root_vhd_size}
+ )
if root_vhd_size > vhd_size:
path_parts = os.path.splitext(vhd_path)
resized_vhd_path = '%s_%s%s' % (path_parts[0],
@@ -82,10 +83,14 @@ class ImageCache(object):
if not self._pathutils.exists(resized_vhd_path):
try:
LOG.debug(_("Copying VHD %(vhd_path)s to "
- "%(resized_vhd_path)s") % locals())
+ "%(resized_vhd_path)s"),
+ {'vhd_path': vhd_path,
+ 'resized_vhd_path': resized_vhd_path})
self._pathutils.copyfile(vhd_path, resized_vhd_path)
LOG.debug(_("Resizing VHD %(resized_vhd_path)s to new "
- "size %(root_vhd_size)s") % locals())
+ "size %(root_vhd_size)s"),
+ {'resized_vhd_path': resized_vhd_path,
+ 'root_vhd_size': root_vhd_size})
self._vhdutils.resize_vhd(resized_vhd_path,
root_vhd_size)
except Exception:
diff --git a/nova/virt/hyperv/livemigrationutils.py b/nova/virt/hyperv/livemigrationutils.py
index 2563e1182..9fce5343a 100644
--- a/nova/virt/hyperv/livemigrationutils.py
+++ b/nova/virt/hyperv/livemigrationutils.py
@@ -155,8 +155,10 @@ class LiveMigrationUtils(object):
LOG.debug(_("Replacing host resource "
"%(old_disk_path)s with "
- "%(new_disk_path)s on planned VM %(vm_name)s") %
- locals())
+ "%(new_disk_path)s on planned VM %(vm_name)s"),
+ {'old_disk_path': old_disk_path,
+ 'new_disk_path': new_disk_path,
+ 'vm_name': vm_name})
sasd.HostResource = [new_disk_path]
updated_resource_setting_data.append(sasd.GetText_(1))
diff --git a/nova/virt/hyperv/migrationops.py b/nova/virt/hyperv/migrationops.py
index 5ce092bf3..19afdd717 100644
--- a/nova/virt/hyperv/migrationops.py
+++ b/nova/virt/hyperv/migrationops.py
@@ -71,7 +71,8 @@ class MigrationOps(object):
# Skip the config drive as the instance is already configured
if os.path.basename(disk_file).lower() != 'configdrive.vhd':
LOG.debug(_('Copying disk "%(disk_file)s" to '
- '"%(dest_path)s"') % locals())
+ '"%(dest_path)s"'),
+ {'disk_file': disk_file, 'dest_path': dest_path})
self._pathutils.copy(disk_file, dest_path)
self._pathutils.rename(instance_path, revert_path)
@@ -100,12 +101,11 @@ class MigrationOps(object):
curr_root_gb = instance['root_gb']
if new_root_gb < curr_root_gb:
- raise vmutils.VHDResizeException(_("Cannot resize the root disk "
- "to a smaller size. Current "
- "size: %(curr_root_gb)s GB. "
- "Requested size: "
- "%(new_root_gb)s GB") %
- locals())
+ raise vmutils.VHDResizeException(
+ _("Cannot resize the root disk to a smaller size. Current "
+ "size: %(curr_root_gb)s GB. Requested size: "
+ "%(new_root_gb)s GB") %
+ {'curr_root_gb': curr_root_gb, 'new_root_gb': new_root_gb})
def migrate_disk_and_power_off(self, context, instance, dest,
instance_type, network_info,
@@ -165,17 +165,23 @@ class MigrationOps(object):
os.path.basename(base_vhd_path))
try:
LOG.debug(_('Copying base disk %(base_vhd_path)s to '
- '%(base_vhd_copy_path)s'), locals())
+ '%(base_vhd_copy_path)s'),
+ {'base_vhd_path': base_vhd_path,
+ 'base_vhd_copy_path': base_vhd_copy_path})
self._pathutils.copyfile(base_vhd_path, base_vhd_copy_path)
LOG.debug(_("Reconnecting copied base VHD "
"%(base_vhd_copy_path)s and diff "
- "VHD %(diff_vhd_path)s"), locals())
+ "VHD %(diff_vhd_path)s"),
+ {'base_vhd_copy_path': base_vhd_copy_path,
+ 'diff_vhd_path': diff_vhd_path})
self._vhdutils.reconnect_parent_vhd(diff_vhd_path,
base_vhd_copy_path)
LOG.debug(_("Merging base disk %(base_vhd_copy_path)s and "
- "diff disk %(diff_vhd_path)s"), locals())
+ "diff disk %(diff_vhd_path)s"),
+ {'base_vhd_copy_path': base_vhd_copy_path,
+ 'diff_vhd_path': diff_vhd_path})
self._vhdutils.merge_vhd(diff_vhd_path, base_vhd_copy_path)
# Replace the differential VHD with the merged one
@@ -192,7 +198,8 @@ class MigrationOps(object):
# A differential VHD cannot be resized
self._merge_base_vhd(vhd_path, base_disk_path)
LOG.debug(_("Resizing disk \"%(vhd_path)s\" to new max "
- "size %(new_size)s"), locals())
+ "size %(new_size)s"),
+ {'vhd_path': vhd_path, 'new_size': new_size})
self._vhdutils.resize_vhd(vhd_path, new_size)
def _check_base_disk(self, context, instance, diff_vhd_path,
@@ -204,7 +211,9 @@ class MigrationOps(object):
if src_base_disk_path.lower() != base_vhd_path.lower():
LOG.debug(_("Reconnecting copied base VHD "
"%(base_vhd_path)s and diff "
- "VHD %(diff_vhd_path)s"), locals())
+ "VHD %(diff_vhd_path)s"),
+ {'base_vhd_path': base_vhd_path,
+ 'diff_vhd_path': diff_vhd_path})
self._vhdutils.reconnect_parent_vhd(diff_vhd_path,
base_vhd_path)
diff --git a/nova/virt/hyperv/networkutils.py b/nova/virt/hyperv/networkutils.py
index 4e1f68685..626240ca3 100644
--- a/nova/virt/hyperv/networkutils.py
+++ b/nova/virt/hyperv/networkutils.py
@@ -58,5 +58,7 @@ class NetworkUtils(object):
if ret_val != 0:
raise vmutils.HyperVException(_("Failed to create vswitch port "
"%(port_name)s on switch "
- "%(vswitch_path)s") % locals())
+ "%(vswitch_path)s") %
+ {'port_name': port_name,
+ 'vswitch_path': vswitch_path})
return new_port
diff --git a/nova/virt/hyperv/pathutils.py b/nova/virt/hyperv/pathutils.py
index 6e54bf4c8..21bb82f72 100644
--- a/nova/virt/hyperv/pathutils.py
+++ b/nova/virt/hyperv/pathutils.py
@@ -69,7 +69,7 @@ class PathUtils(object):
# spawning overhead.
if subprocess.call(['cmd.exe', '/C', 'copy', '/Y', src, dest]):
raise IOError(_('The file copy from %(src)s to %(dest)s failed')
- % locals())
+ % {'src': src, 'dest': dest})
def rmtree(self, path):
shutil.rmtree(path)
@@ -83,7 +83,8 @@ class PathUtils(object):
else:
# Use an administrative share
path = local_instance_path.replace(':', '$')
- return '\\\\%(remote_server)s\\%(path)s' % locals()
+ return ('\\\\%(remote_server)s\\%(path)s' %
+ {'remote_server': remote_server, 'path': path})
else:
return local_instance_path
diff --git a/nova/virt/hyperv/snapshotops.py b/nova/virt/hyperv/snapshotops.py
index 5bed46665..c75b54e9e 100644
--- a/nova/virt/hyperv/snapshotops.py
+++ b/nova/virt/hyperv/snapshotops.py
@@ -71,7 +71,8 @@ class SnapshotOps(object):
dest_vhd_path = os.path.join(export_dir, os.path.basename(
src_vhd_path))
LOG.debug(_('Copying VHD %(src_vhd_path)s to %(dest_vhd_path)s'),
- locals())
+ {'src_vhd_path': src_vhd_path,
+ 'dest_vhd_path': dest_vhd_path})
self._pathutils.copyfile(src_vhd_path, dest_vhd_path)
image_vhd_path = None
@@ -81,29 +82,37 @@ class SnapshotOps(object):
basename = os.path.basename(src_base_disk_path)
dest_base_disk_path = os.path.join(export_dir, basename)
LOG.debug(_('Copying base disk %(src_vhd_path)s to '
- '%(dest_base_disk_path)s'), locals())
+ '%(dest_base_disk_path)s'),
+ {'src_vhd_path': src_vhd_path,
+ 'dest_base_disk_path': dest_base_disk_path})
self._pathutils.copyfile(src_base_disk_path,
dest_base_disk_path)
LOG.debug(_("Reconnecting copied base VHD "
"%(dest_base_disk_path)s and diff "
- "VHD %(dest_vhd_path)s"), locals())
+ "VHD %(dest_vhd_path)s"),
+ {'dest_base_disk_path': dest_base_disk_path,
+ 'dest_vhd_path': dest_vhd_path})
self._vhdutils.reconnect_parent_vhd(dest_vhd_path,
dest_base_disk_path)
LOG.debug(_("Merging base disk %(dest_base_disk_path)s and "
- "diff disk %(dest_vhd_path)s"), locals())
+ "diff disk %(dest_vhd_path)s"),
+ {'dest_base_disk_path': dest_base_disk_path,
+ 'dest_vhd_path': dest_vhd_path})
self._vhdutils.merge_vhd(dest_vhd_path, dest_base_disk_path)
image_vhd_path = dest_base_disk_path
- LOG.debug(_("Updating Glance image %(image_id)s with content from "
- "merged disk %(image_vhd_path)s"), locals())
+ LOG.debug(_("Updating Glance image %(name)s with content from "
+ "merged disk %(image_vhd_path)s"),
+ {'image_id': name, 'image_vhd_path': image_vhd_path})
update_task_state(task_state=task_states.IMAGE_UPLOADING,
expected_state=task_states.IMAGE_PENDING_UPLOAD)
self._save_glance_image(context, name, image_vhd_path)
- LOG.debug(_("Snapshot image %(image_id)s updated for VM "
- "%(instance_name)s"), locals())
+ LOG.debug(_("Snapshot image %(name)s updated for VM "
+ "%(instance_name)s"),
+ {'name': name, 'instance_name': instance_name})
finally:
try:
LOG.debug(_("Removing snapshot %s"), name)
diff --git a/nova/virt/hyperv/vmops.py b/nova/virt/hyperv/vmops.py
index 2bda94a35..dfae02aad 100644
--- a/nova/virt/hyperv/vmops.py
+++ b/nova/virt/hyperv/vmops.py
@@ -119,13 +119,16 @@ class VMOps(object):
try:
if CONF.use_cow_images:
LOG.debug(_("Creating differencing VHD. Parent: "
- "%(base_vhd_path)s, Target: %(root_vhd_path)s")
- % locals())
+ "%(base_vhd_path)s, Target: %(root_vhd_path)s"),
+ {'base_vhd_path': base_vhd_path,
+ 'root_vhd_path': root_vhd_path})
self._vhdutils.create_differencing_vhd(root_vhd_path,
base_vhd_path)
else:
LOG.debug(_("Copying VHD image %(base_vhd_path)s to target: "
- "%(root_vhd_path)s") % locals())
+ "%(root_vhd_path)s"),
+ {'base_vhd_path': base_vhd_path,
+ 'root_vhd_path': root_vhd_path})
self._pathutils.copyfile(base_vhd_path, root_vhd_path)
base_vhd_info = self._vhdutils.get_vhd_info(base_vhd_path)
@@ -137,7 +140,9 @@ class VMOps(object):
"smaller size"))
elif root_vhd_size > base_vhd_size:
LOG.debug(_("Resizing VHD %(root_vhd_path)s to new "
- "size %(root_vhd_size)s") % locals())
+ "size %(root_vhd_size)s"),
+ {'base_vhd_path': base_vhd_path,
+ 'root_vhd_path': root_vhd_path})
self._vhdutils.resize_vhd(root_vhd_path, root_vhd_size)
except Exception:
with excutils.save_and_reraise_exception():
@@ -336,9 +341,11 @@ class VMOps(object):
try:
self._vmutils.set_vm_state(vm_name, req_state)
LOG.debug(_("Successfully changed state of VM %(vm_name)s"
- " to: %(req_state)s") % locals())
+ " to: %(req_state)s"),
+ {'vm_name': vm_name, 'req_state': req_state})
except Exception as ex:
LOG.exception(ex)
- msg = _("Failed to change vm state of %(vm_name)s"
- " to %(req_state)s") % locals()
+ msg = (_("Failed to change vm state of %(vm_name)s"
+ " to %(req_state)s") %
+ {'vm_name': vm_name, 'req_state': req_state})
raise vmutils.HyperVException(msg)
diff --git a/nova/virt/hyperv/vmutils.py b/nova/virt/hyperv/vmutils.py
index 680ec2d61..dd03eb88b 100644
--- a/nova/virt/hyperv/vmutils.py
+++ b/nova/virt/hyperv/vmutils.py
@@ -223,8 +223,8 @@ class VMUtils(object):
drivedflt = self._conn.query("SELECT * FROM "
"Msvm_ResourceAllocationSettingData "
"WHERE ResourceSubType LIKE "
- "'%(res_sub_type)s' AND InstanceID LIKE "
- "'%%Default%%'" % locals())[0]
+ "'%s' AND InstanceID LIKE "
+ "'%%Default%%'" % res_sub_type)[0]
drive = self._clone_wmi_obj('Msvm_ResourceAllocationSettingData',
drivedflt)
#Set the IDE ctrller as parent.
@@ -243,9 +243,9 @@ class VMUtils(object):
drivedefault = self._conn.query("SELECT * FROM "
"Msvm_ResourceAllocationSettingData "
"WHERE ResourceSubType LIKE "
- "'%(res_sub_type)s' AND "
+ "'%s' AND "
"InstanceID LIKE '%%Default%%'"
- % locals())[0]
+ % res_sub_type)[0]
#Clone the default and point it to the image file.
res = self._clone_wmi_obj('Msvm_ResourceAllocationSettingData',
@@ -329,13 +329,14 @@ class VMUtils(object):
#Invalid state for current operation (32775) typically means that
#the VM is already in the state requested
self.check_ret_val(ret_val, job_path, [0, 32775])
- LOG.debug(_("Successfully changed vm state of %(vm_name)s"
- " to %(req_state)s") % locals())
+ LOG.debug(_("Successfully changed vm state of %(vm_name)s "
+ "to %(req_state)s"),
+ {'vm_name': vm_name, 'req_state': req_state})
def get_vm_storage_paths(self, vm_name):
vm = self._lookup_vm_check(vm_name)
- vs_man_svc = self._conn.Msvm_VirtualSystemManagementService()[0]
+ self._conn.Msvm_VirtualSystemManagementService()
vmsettings = vm.associators(
wmi_result_class='Msvm_VirtualSystemSettingData')
rasds = vmsettings[0].associators(
@@ -391,23 +392,28 @@ class VMUtils(object):
raise HyperVException(_("WMI job failed with status "
"%(job_state)d. Error details: "
"%(err_sum_desc)s - %(err_desc)s - "
- "Error code: %(err_code)d")
- % locals())
+ "Error code: %(err_code)d") %
+ {'job_state': job_state,
+ 'err_sum_desc': err_sum_desc,
+ 'err_desc': err_desc,
+ 'err_code': err_code})
else:
(error, ret_val) = job.GetError()
if not ret_val and error:
raise HyperVException(_("WMI job failed with status "
"%(job_state)d. Error details: "
- "%(error)s") % locals())
+ "%(error)s") %
+ {'job_state': job_state,
+ 'error': error})
else:
raise HyperVException(_("WMI job failed with status "
- "%(job_state)d. No error "
- "description available")
- % locals())
+ "%d. No error "
+ "description available") %
+ job_state)
desc = job.Description
elap = job.ElapsedTime
- LOG.debug(_("WMI job succeeded: %(desc)s, Elapsed=%(elap)s")
- % locals())
+ LOG.debug(_("WMI job succeeded: %(desc)s, Elapsed=%(elap)s"),
+ {'desc': desc, 'elap': elap})
def _clone_wmi_obj(self, wmi_class, wmi_obj):
"""Clone a WMI object."""
diff --git a/nova/virt/hyperv/volumeops.py b/nova/virt/hyperv/volumeops.py
index 1b6f10d16..b378070c9 100644
--- a/nova/virt/hyperv/volumeops.py
+++ b/nova/virt/hyperv/volumeops.py
@@ -97,11 +97,15 @@ class VolumeOps(object):
if self._volutils.get_device_number_for_target(target_iqn, target_lun):
LOG.debug(_("Already logged in on storage target. No need to "
"login. Portal: %(target_portal)s, "
- "IQN: %(target_iqn)s, LUN: %(target_lun)s") % locals())
+ "IQN: %(target_iqn)s, LUN: %(target_lun)s"),
+ {'target_portal': target_portal,
+ 'target_iqn': target_iqn, 'target_lun': target_lun})
else:
LOG.debug(_("Logging in on storage target. Portal: "
"%(target_portal)s, IQN: %(target_iqn)s, "
- "LUN: %(target_lun)s") % locals())
+ "LUN: %(target_lun)s"),
+ {'target_portal': target_portal,
+ 'target_iqn': target_iqn, 'target_lun': target_lun})
self._volutils.login_storage_target(target_lun, target_iqn,
target_portal)
# Wait for the target to be mounted
@@ -112,8 +116,9 @@ class VolumeOps(object):
Attach a volume to the SCSI controller or to the IDE controller if
ebs_root is True
"""
- LOG.debug(_("Attach_volume: %(connection_info)s to %(instance_name)s")
- % locals())
+ LOG.debug(_("Attach_volume: %(connection_info)s to %(instance_name)s"),
+ {'connection_info': connection_info,
+ 'instance_name': instance_name})
try:
self._login_storage_target(connection_info)
@@ -157,13 +162,15 @@ class VolumeOps(object):
self.detach_volume(vol['connection_info'], instance_name)
def logout_storage_target(self, target_iqn):
- LOG.debug(_("Logging off storage target %(target_iqn)s") % locals())
+ LOG.debug(_("Logging off storage target %s"), target_iqn)
self._volutils.logout_storage_target(target_iqn)
def detach_volume(self, connection_info, instance_name):
"""Dettach a volume to the SCSI controller."""
LOG.debug(_("Detach_volume: %(connection_info)s "
- "from %(instance_name)s") % locals())
+ "from %(instance_name)s"),
+ {'connection_info': connection_info,
+ 'instance_name': instance_name})
data = connection_info['data']
target_lun = data['target_lun']
@@ -198,7 +205,8 @@ class VolumeOps(object):
raise exception.NotFound(_('Unable to find a mounted disk for '
'target_iqn: %s') % target_iqn)
LOG.debug(_('Device number: %(device_number)s, '
- 'target lun: %(target_lun)s') % locals())
+ 'target lun: %(target_lun)s'),
+ {'device_number': device_number, 'target_lun': target_lun})
#Finding Mounted disk drive
for i in range(0, CONF.hyperv.volume_attach_retry_count):
mounted_disk_path = self._vmutils.get_mounted_disk_by_drive_number(
diff --git a/nova/virt/images.py b/nova/virt/images.py
index b752b7a64..e1b42eafc 100755
--- a/nova/virt/images.py
+++ b/nova/virt/images.py
@@ -30,6 +30,7 @@ from nova import exception
from nova.image import glance
from nova.openstack.common import fileutils
from nova.openstack.common import log as logging
+from nova.openstack.common import strutils
from nova import utils
LOG = logging.getLogger(__name__)
@@ -90,8 +91,8 @@ class QemuImgInfo(object):
if real_size:
details = real_size.group(1)
try:
- details = utils.to_bytes(details)
- except (TypeError, ValueError):
+ details = strutils.to_bytes(details)
+ except TypeError:
pass
return details
diff --git a/nova/virt/libvirt/blockinfo.py b/nova/virt/libvirt/blockinfo.py
index aabcef964..55bf4fcd1 100644
--- a/nova/virt/libvirt/blockinfo.py
+++ b/nova/virt/libvirt/blockinfo.py
@@ -411,7 +411,7 @@ def get_disk_mapping(virt_type, instance,
'dev': disk_dev,
'type': 'disk'}
- if configdrive.enabled_for(instance):
+ if configdrive.required_by(instance):
config_info = get_next_disk_info(mapping,
disk_bus,
last_device=True)
diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
index 6cfa2c7c7..f20a27900 100755
--- a/nova/virt/libvirt/driver.py
+++ b/nova/virt/libvirt/driver.py
@@ -291,7 +291,7 @@ MIN_LIBVIRT_LIVESNAPSHOT_VERSION = (1, 0, 0)
MIN_QEMU_LIVESNAPSHOT_VERSION = (1, 3, 0)
-def libvirt_error_handler(ctxt, err):
+def libvirt_error_handler(context, err):
# Just ignore instead of default outputting to stderr.
pass
@@ -351,8 +351,9 @@ class LibvirtDriver(driver.ComputeDriver):
for mode_str in CONF.disk_cachemodes:
disk_type, sep, cache_mode = mode_str.partition('=')
if cache_mode not in self.valid_cachemodes:
- LOG.warn(_("Invalid cachemode %(cache_mode)s specified "
- "for disk type %(disk_type)s.") % locals())
+ LOG.warn(_('Invalid cachemode %(cache_mode)s specified '
+ 'for disk type %(disk_type)s.'),
+ {'cache_mode': cache_mode, 'disk_type': disk_type})
continue
self.disk_cachemodes[disk_type] = cache_mode
@@ -554,19 +555,19 @@ class LibvirtDriver(driver.ComputeDriver):
event_thread.start()
LOG.debug("Starting green dispatch thread")
- dispatch_thread = eventlet.spawn(self._dispatch_thread)
+ eventlet.spawn(self._dispatch_thread)
def init_host(self, host):
- libvirt.registerErrorHandler(libvirt_error_handler, None)
- libvirt.virEventRegisterDefaultImpl()
-
if not self.has_min_version(MIN_LIBVIRT_VERSION):
major = MIN_LIBVIRT_VERSION[0]
minor = MIN_LIBVIRT_VERSION[1]
micro = MIN_LIBVIRT_VERSION[2]
LOG.error(_('Nova requires libvirt version '
- '%(major)i.%(minor)i.%(micro)i or greater.') %
- locals())
+ '%(major)i.%(minor)i.%(micro)i or greater.'),
+ {'major': major, 'minor': minor, 'micro': micro})
+
+ libvirt.registerErrorHandler(libvirt_error_handler, None)
+ libvirt.virEventRegisterDefaultImpl()
self._init_events()
@@ -592,7 +593,7 @@ class LibvirtDriver(driver.ComputeDriver):
libvirt.VIR_DOMAIN_EVENT_ID_LIFECYCLE,
self._event_lifecycle_callback,
self)
- except Exception as e:
+ except Exception:
LOG.warn(_("URI %s does not support events"),
self.uri())
@@ -778,9 +779,10 @@ class LibvirtDriver(driver.ComputeDriver):
if not is_okay:
with excutils.save_and_reraise_exception():
- LOG.error(_("Error from libvirt during destroy. "
- "Code=%(errcode)s Error=%(e)s") %
- locals(), instance=instance)
+ LOG.error(_('Error from libvirt during destroy. '
+ 'Code=%(errcode)s Error=%(e)s'),
+ {'errcode': errcode, 'e': e},
+ instance=instance)
def _wait_for_destroy(expected_domid):
"""Called at an interval until the VM is gone."""
@@ -853,9 +855,9 @@ class LibvirtDriver(driver.ComputeDriver):
except libvirt.libvirtError as e:
with excutils.save_and_reraise_exception():
errcode = e.get_error_code()
- LOG.error(_("Error from libvirt during undefine. "
- "Code=%(errcode)s Error=%(e)s") %
- locals(), instance=instance)
+ LOG.error(_('Error from libvirt during undefine. '
+ 'Code=%(errcode)s Error=%(e)s') %
+ {'errcode': errcode, 'e': e}, instance=instance)
def _cleanup(self, instance, network_info, block_device_info,
destroy_disks):
@@ -879,9 +881,10 @@ class LibvirtDriver(driver.ComputeDriver):
else:
retry = False
errcode = e.get_error_code()
- LOG.error(_("Error from libvirt during unfilter. "
- "Code=%(errcode)s Error=%(e)s") %
- locals(), instance=instance)
+ LOG.error(_('Error from libvirt during unfilter. '
+ 'Code=%(errcode)s Error=%(e)s') %
+ {'errcode': errcode, 'e': e},
+ instance=instance)
reason = "Error unfiltering instance."
raise exception.InstanceTerminationFailure(reason=reason)
except Exception:
@@ -907,7 +910,7 @@ class LibvirtDriver(driver.ComputeDriver):
if destroy_disks:
target = libvirt_utils.get_instance_path(instance)
- LOG.info(_('Deleting instance files %(target)s') % locals(),
+ LOG.info(_('Deleting instance files %s'), target,
instance=instance)
if os.path.exists(target):
# If we fail to get rid of the directory
@@ -916,8 +919,8 @@ class LibvirtDriver(driver.ComputeDriver):
try:
shutil.rmtree(target)
except OSError as e:
- LOG.error(_("Failed to cleanup directory %(target)s: %(e)s"
- ) % locals())
+ LOG.error(_('Failed to cleanup directory %(target)s: '
+ '%(e)s'), {'target': target, 'e': e})
#NOTE(bfilippov): destroy all LVM disks for this instance
self._cleanup_lvm(instance)
@@ -1113,7 +1116,7 @@ class LibvirtDriver(driver.ComputeDriver):
if state == power_state.RUNNING:
flags |= libvirt.VIR_DOMAIN_AFFECT_LIVE
virt_dom.attachDeviceFlags(cfg.to_xml(), flags)
- except libvirt.libvirtError as ex:
+ except libvirt.libvirtError:
LOG.error(_('attaching network adapter failed.'),
instance=instance)
self.vif_driver.unplug(instance, (network, mapping))
@@ -1205,6 +1208,18 @@ class LibvirtDriver(driver.ComputeDriver):
REQ_HYPERVISOR_LIVESNAPSHOT) \
and not source_format == "lvm":
live_snapshot = True
+ # Abort is an idempotent operation, so make sure any block
+ # jobs which may have failed are ended. This operation also
+ # confims the running instance, as opposed to the system as a
+ # whole, has a new enough version of the hypervisor (bug 1193146).
+ try:
+ virt_dom.blockJobAbort(disk_path, 0)
+ except libvirt.libvirtError as ex:
+ error_code = ex.get_error_code()
+ if error_code == libvirt.VIR_ERR_CONFIG_UNSUPPORTED:
+ live_snapshot = False
+ else:
+ pass
else:
live_snapshot = False
@@ -1276,13 +1291,6 @@ class LibvirtDriver(driver.ComputeDriver):
# Save a copy of the domain's running XML file
xml = domain.XMLDesc(0)
- # Abort is an idempotent operation, so make sure any block
- # jobs which may have failed are ended.
- try:
- domain.blockJobAbort(disk_path, 0)
- except Exception:
- pass
-
def _wait_for_block_job(domain, disk_path):
status = domain.blockJobInfo(disk_path, 0)
try:
@@ -1378,19 +1386,22 @@ class LibvirtDriver(driver.ComputeDriver):
state = LIBVIRT_POWER_STATE[state]
new_domid = dom.ID()
- if state in [power_state.SHUTDOWN,
- power_state.CRASHED]:
- LOG.info(_("Instance shutdown successfully."),
- instance=instance)
- self._create_domain(domain=dom)
- timer = loopingcall.FixedIntervalLoopingCall(
- self._wait_for_running, instance)
- timer.start(interval=0.5).wait()
- return True
- elif old_domid != new_domid:
- LOG.info(_("Instance may have been rebooted during soft "
- "reboot, so return now."), instance=instance)
- return True
+ # NOTE(ivoks): By checking domain IDs, we make sure we are
+ # not recreating domain that's already running.
+ if old_domid != new_domid:
+ if state in [power_state.SHUTDOWN,
+ power_state.CRASHED]:
+ LOG.info(_("Instance shutdown successfully."),
+ instance=instance)
+ self._create_domain(domain=dom)
+ timer = loopingcall.FixedIntervalLoopingCall(
+ self._wait_for_running, instance)
+ timer.start(interval=0.5).wait()
+ return True
+ else:
+ LOG.info(_("Instance may have been rebooted during soft "
+ "reboot, so return now."), instance=instance)
+ return True
greenthread.sleep(1)
return False
@@ -1423,7 +1434,8 @@ class LibvirtDriver(driver.ComputeDriver):
write_to_disk=True)
# NOTE (rmk): Re-populate any missing backing files.
- disk_info_json = self.get_instance_disk_info(instance['name'], xml)
+ disk_info_json = self.get_instance_disk_info(instance['name'], xml,
+ block_device_info)
self._create_images_and_backing(context, instance, disk_info_json)
# Initialize all the necessary networking, block devices and
@@ -1457,13 +1469,13 @@ class LibvirtDriver(driver.ComputeDriver):
"""Power off the specified instance."""
self._destroy(instance)
- def power_on(self, instance):
+ def power_on(self, context, instance, network_info,
+ block_device_info=None):
"""Power on the specified instance."""
- dom = self._lookup_by_name(instance['name'])
- self._create_domain(domain=dom, instance=instance)
- timer = loopingcall.FixedIntervalLoopingCall(self._wait_for_running,
- instance)
- timer.start(interval=0.5).wait()
+ # We use _hard_reboot here to ensure that all backing files,
+ # network, and block device connections, etc. are established
+ # and available before we attempt to start the instance.
+ self._hard_reboot(context, instance, network_info, block_device_info)
def suspend(self, instance):
"""Suspend the specified instance."""
@@ -1605,7 +1617,8 @@ class LibvirtDriver(driver.ComputeDriver):
return out
def _append_to_file(self, data, fpath):
- LOG.info(_('data: %(data)r, fpath: %(fpath)r') % locals())
+ LOG.info(_('data: %(data)r, fpath: %(fpath)r'),
+ {'data': data, 'fpath': fpath})
fp = open(fpath, 'a+')
fp.write(data)
return fpath
@@ -1918,7 +1931,7 @@ class LibvirtDriver(driver.ComputeDriver):
extra_md['admin_pass'] = admin_pass
inst_md = instance_metadata.InstanceMetadata(instance,
- content=files, extra_md=extra_md)
+ content=files or [], extra_md=extra_md)
with configdrive.ConfigDriveBuilder(instance_md=inst_md) as cdb:
configdrive_path = basepath(fname='disk.config')
LOG.info(_('Creating config drive at %(path)s'),
@@ -1959,10 +1972,16 @@ class LibvirtDriver(driver.ComputeDriver):
injection_path = image('disk').path
img_id = instance['image_ref']
- for inj in ('key', 'net', 'metadata', 'admin_pass', 'files'):
- if locals()[inj]:
+ for inj, val in [('key', key),
+ ('net', net),
+ ('metadata', metadata),
+ ('admin_pass', admin_pass),
+ ('files', files)]:
+ if val:
LOG.info(_('Injecting %(inj)s into image '
- '%(img_id)s'), locals(), instance=instance)
+ '%(img_id)s'),
+ {'inj': inj, 'img_id': img_id},
+ instance=instance)
try:
disk.inject_data(injection_path,
key, net, metadata, admin_pass, files,
@@ -1972,7 +1991,8 @@ class LibvirtDriver(driver.ComputeDriver):
except Exception as e:
with excutils.save_and_reraise_exception():
LOG.error(_('Error injecting data into image '
- '%(img_id)s (%(e)s)') % locals(),
+ '%(img_id)s (%(e)s)'),
+ {'img_id': img_id, 'e': e},
instance=instance)
if CONF.libvirt_type == 'uml':
@@ -2384,12 +2404,14 @@ class LibvirtDriver(driver.ComputeDriver):
def to_xml(self, instance, network_info, disk_info,
image_meta=None, rescue=None,
block_device_info=None, write_to_disk=False):
- LOG.debug(_("Start to_xml instance=%(instance)s "
- "network_info=%(network_info)s "
- "disk_info=%(disk_info)s "
- "image_meta=%(image_meta)s rescue=%(rescue)s"
- "block_device_info=%(block_device_info)s") %
- locals())
+ LOG.debug(_('Start to_xml instance=%(instance)s '
+ 'network_info=%(network_info)s '
+ 'disk_info=%(disk_info)s '
+ 'image_meta=%(image_meta)s rescue=%(rescue)s'
+ 'block_device_info=%(block_device_info)s'),
+ {'instance': instance, 'network_info': network_info,
+ 'disk_info': disk_info, 'image_meta': image_meta,
+ 'rescue': rescue, 'block_device_info': block_device_info})
conf = self.get_guest_config(instance, network_info, image_meta,
disk_info, rescue, block_device_info)
xml = conf.to_xml()
@@ -2399,7 +2421,8 @@ class LibvirtDriver(driver.ComputeDriver):
xml_path = os.path.join(instance_dir, 'libvirt.xml')
libvirt_utils.write_to_file(xml_path, xml)
- LOG.debug(_('End to_xml instance=%(instance)s xml=%(xml)s') % locals())
+ LOG.debug(_('End to_xml instance=%(instance)s xml=%(xml)s'),
+ {'instance': instance, 'xml': xml})
return xml
def _lookup_by_id(self, instance_id):
@@ -2437,8 +2460,11 @@ class LibvirtDriver(driver.ComputeDriver):
if error_code == libvirt.VIR_ERR_NO_DOMAIN:
raise exception.InstanceNotFound(instance_id=instance_name)
- msg = _("Error from libvirt while looking up %(instance_name)s: "
- "[Error Code %(error_code)s] %(ex)s") % locals()
+ msg = (_('Error from libvirt while looking up %(instance_name)s: '
+ '[Error Code %(error_code)s] %(ex)s') %
+ {'instance_name': instance_name,
+ 'error_code': error_code,
+ 'ex': ex})
raise exception.NovaException(msg)
def get_info(self, instance):
@@ -2481,10 +2507,28 @@ class LibvirtDriver(driver.ComputeDriver):
use_cow=CONF.use_cow_images)
if xml:
- domain = self._conn.defineXML(xml)
+ try:
+ domain = self._conn.defineXML(xml)
+ except Exception as e:
+ LOG.error(_("An error occurred while trying to define a domain"
+ " with xml: %s") % xml)
+ raise e
+
if power_on:
- domain.createWithFlags(launch_flags)
- self._enable_hairpin(domain.XMLDesc(0))
+ try:
+ domain.createWithFlags(launch_flags)
+ except Exception as e:
+ with excutils.save_and_reraise_exception():
+ LOG.error(_("An error occurred while trying to launch a "
+ "defined domain with xml: %s") %
+ domain.XMLDesc(0))
+
+ try:
+ self._enable_hairpin(domain.XMLDesc(0))
+ except Exception:
+ with excutils.save_and_reraise_exception():
+ LOG.error(_("An error occurred while enabling hairpin mode on "
+ "domain with xml: %s") % domain.XMLDesc(0))
# NOTE(uni): Now the container is running with its own private mount
# namespace and so there is no need to keep the container rootfs
@@ -2911,13 +2955,14 @@ class LibvirtDriver(driver.ComputeDriver):
return domain.blockStats(disk)
except libvirt.libvirtError as e:
errcode = e.get_error_code()
- LOG.info(_("Getting block stats failed, device might have "
- "been detached. Instance=%(instance_name)s "
- "Disk=%(disk)s Code=%(errcode)s Error=%(e)s")
- % locals())
+ LOG.info(_('Getting block stats failed, device might have '
+ 'been detached. Instance=%(instance_name)s '
+ 'Disk=%(disk)s Code=%(errcode)s Error=%(e)s'),
+ {'instance_name': instance_name, 'disk': disk,
+ 'errcode': errcode, 'e': e})
except exception.InstanceNotFound:
- LOG.info(_("Could not find domain in libvirt for instance %s. "
- "Cannot get block stats for device") % instance_name)
+ LOG.info(_('Could not find domain in libvirt for instance %s. '
+ 'Cannot get block stats for device'), instance_name)
def interface_stats(self, instance_name, interface):
"""
@@ -2986,7 +3031,7 @@ class LibvirtDriver(driver.ComputeDriver):
'disk_available_least': _get_disk_available_least()}
return dic
- def check_instance_shared_storage_local(self, ctxt, instance):
+ def check_instance_shared_storage_local(self, context, instance):
dirpath = libvirt_utils.get_instance_path(instance)
if not os.path.exists(dirpath):
@@ -2999,13 +3044,13 @@ class LibvirtDriver(driver.ComputeDriver):
os.close(fd)
return {"filename": tmp_file}
- def check_instance_shared_storage_remote(self, ctxt, data):
+ def check_instance_shared_storage_remote(self, context, data):
return os.path.exists(data['filename'])
- def check_instance_shared_storage_cleanup(self, ctxt, data):
+ def check_instance_shared_storage_cleanup(self, context, data):
fileutils.delete_if_exists(data["filename"])
- def check_can_live_migrate_destination(self, ctxt, instance_ref,
+ def check_can_live_migrate_destination(self, context, instance,
src_compute_info, dst_compute_info,
block_migration=False,
disk_over_commit=False):
@@ -3014,8 +3059,8 @@ class LibvirtDriver(driver.ComputeDriver):
This runs checks on the destination host, and then calls
back to the source host to check the results.
- :param ctxt: security context
- :param instance_ref: nova.db.sqlalchemy.models.Instance
+ :param context: security context
+ :param instance: nova.db.sqlalchemy.models.Instance
:param block_migration: if true, prepare for block migration
:param disk_over_commit: if true, allow disk over commit
:returns: a dict containing:
@@ -3031,7 +3076,6 @@ class LibvirtDriver(driver.ComputeDriver):
(disk_available_gb * 1024) - CONF.reserved_host_disk_mb
# Compare CPU
- src = instance_ref['host']
source_cpu_info = src_compute_info['cpu_info']
self._compare_cpu(source_cpu_info)
@@ -3043,16 +3087,17 @@ class LibvirtDriver(driver.ComputeDriver):
"disk_over_commit": disk_over_commit,
"disk_available_mb": disk_available_mb}
- def check_can_live_migrate_destination_cleanup(self, ctxt,
+ def check_can_live_migrate_destination_cleanup(self, context,
dest_check_data):
"""Do required cleanup on dest host after check_can_live_migrate calls
- :param ctxt: security context
+ :param context: security context
"""
filename = dest_check_data["filename"]
self._cleanup_shared_storage_test_file(filename)
- def check_can_live_migrate_source(self, ctxt, instance, dest_check_data):
+ def check_can_live_migrate_source(self, context, instance,
+ dest_check_data):
"""Check if it is possible to execute live migration.
This checks if the live migration can succeed, based on the
@@ -3077,7 +3122,7 @@ class LibvirtDriver(driver.ComputeDriver):
reason = _("Block migration can not be used "
"with shared storage.")
raise exception.InvalidLocalStorage(reason=reason, path=source)
- self._assert_dest_node_has_enough_disk(ctxt, instance,
+ self._assert_dest_node_has_enough_disk(context, instance,
dest_check_data['disk_available_mb'],
dest_check_data['disk_over_commit'])
@@ -3096,7 +3141,7 @@ class LibvirtDriver(driver.ComputeDriver):
return dest_check_data
- def _assert_dest_node_has_enough_disk(self, context, instance_ref,
+ def _assert_dest_node_has_enough_disk(self, context, instance,
available_mb, disk_over_commit):
"""Checks if destination has enough disk for block migration."""
# Libvirt supports qcow2 disk format,which is usually compressed
@@ -3113,7 +3158,7 @@ class LibvirtDriver(driver.ComputeDriver):
if available_mb:
available = available_mb * (1024 ** 2)
- ret = self.get_instance_disk_info(instance_ref['name'])
+ ret = self.get_instance_disk_info(instance['name'])
disk_infos = jsonutils.loads(ret)
necessary = 0
@@ -3126,12 +3171,14 @@ class LibvirtDriver(driver.ComputeDriver):
# Check that available disk > necessary disk
if (available - necessary) < 0:
- instance_uuid = instance_ref['uuid']
- reason = _("Unable to migrate %(instance_uuid)s: "
- "Disk of instance is too large(available"
- " on destination host:%(available)s "
- "< need:%(necessary)s)")
- raise exception.MigrationPreCheckError(reason=reason % locals())
+ reason = (_('Unable to migrate %(instance_uuid)s: '
+ 'Disk of instance is too large(available'
+ ' on destination host:%(available)s '
+ '< need:%(necessary)s)') %
+ {'instance_uuid': instance['uuid'],
+ 'available': available,
+ 'necessary': necessary})
+ raise exception.MigrationPreCheckError(reason=reason)
def _compare_cpu(self, cpu_info):
"""Checks the host cpu is compatible to a cpu given by xml.
@@ -3171,11 +3218,11 @@ class LibvirtDriver(driver.ComputeDriver):
except libvirt.libvirtError as e:
with excutils.save_and_reraise_exception():
ret = e.message
- LOG.error(m % locals())
+ LOG.error(m, {'ret': ret, 'u': u})
if ret <= 0:
- LOG.error(m % locals())
- raise exception.InvalidCPUInfo(reason=m % locals())
+ LOG.error(m, {'ret': ret, 'u': u})
+ raise exception.InvalidCPUInfo(reason=m % {'ret': ret, 'u': u})
def _create_shared_storage_test_file(self):
"""Makes tmpfile under CONF.instances_path."""
@@ -3203,7 +3250,7 @@ class LibvirtDriver(driver.ComputeDriver):
tmp_file = os.path.join(CONF.instances_path, filename)
os.remove(tmp_file)
- def ensure_filtering_rules_for_instance(self, instance_ref, network_info,
+ def ensure_filtering_rules_for_instance(self, instance, network_info,
time_module=None):
"""Ensure that an instance's filtering rules are enabled.
@@ -3218,21 +3265,21 @@ class LibvirtDriver(driver.ComputeDriver):
if not time_module:
time_module = greenthread
- self.firewall_driver.setup_basic_filtering(instance_ref, network_info)
- self.firewall_driver.prepare_instance_filter(instance_ref,
+ self.firewall_driver.setup_basic_filtering(instance, network_info)
+ self.firewall_driver.prepare_instance_filter(instance,
network_info)
# nwfilters may be defined in a separate thread in the case
# of libvirt non-blocking mode, so we wait for completion
timeout_count = range(CONF.live_migration_retry_count)
while timeout_count:
- if self.firewall_driver.instance_filter_exists(instance_ref,
+ if self.firewall_driver.instance_filter_exists(instance,
network_info):
break
timeout_count.pop()
if len(timeout_count) == 0:
msg = _('The firewall filter for %s does not exist')
- raise exception.NovaException(msg % instance_ref["name"])
+ raise exception.NovaException(msg % instance["name"])
time_module.sleep(1)
def filter_defer_apply_on(self):
@@ -3241,13 +3288,13 @@ class LibvirtDriver(driver.ComputeDriver):
def filter_defer_apply_off(self):
self.firewall_driver.filter_defer_apply_off()
- def live_migration(self, ctxt, instance_ref, dest,
+ def live_migration(self, context, instance, dest,
post_method, recover_method, block_migration=False,
migrate_data=None):
"""Spawning live_migration operation for distributing high-load.
- :params ctxt: security context
- :params instance_ref:
+ :params context: security context
+ :params instance:
nova.db.sqlalchemy.models.Instance object
instance object that is migrated.
:params dest: destination host
@@ -3263,17 +3310,17 @@ class LibvirtDriver(driver.ComputeDriver):
"""
- greenthread.spawn(self._live_migration, ctxt, instance_ref, dest,
+ greenthread.spawn(self._live_migration, context, instance, dest,
post_method, recover_method, block_migration,
migrate_data)
- def _live_migration(self, ctxt, instance_ref, dest, post_method,
+ def _live_migration(self, context, instance, dest, post_method,
recover_method, block_migration=False,
migrate_data=None):
"""Do live migration.
- :params ctxt: security context
- :params instance_ref:
+ :params context: security context
+ :params instance:
nova.db.sqlalchemy.models.Instance object
instance object that is migrated.
:params dest: destination host
@@ -3295,7 +3342,7 @@ class LibvirtDriver(driver.ComputeDriver):
flagvals = [getattr(libvirt, x.strip()) for x in flaglist]
logical_sum = reduce(lambda x, y: x | y, flagvals)
- dom = self._lookup_by_name(instance_ref["name"])
+ dom = self._lookup_by_name(instance["name"])
dom.migrateToURI(CONF.live_migration_uri % dest,
logical_sum,
None,
@@ -3303,9 +3350,9 @@ class LibvirtDriver(driver.ComputeDriver):
except Exception as e:
with excutils.save_and_reraise_exception():
- LOG.error(_("Live Migration failure: %(e)s") % locals(),
- instance=instance_ref)
- recover_method(ctxt, instance_ref, dest, block_migration)
+ LOG.error(_("Live Migration failure: %s"), e,
+ instance=instance)
+ recover_method(context, instance, dest, block_migration)
# Waiting for completion of live_migration.
timer = loopingcall.FixedIntervalLoopingCall(f=None)
@@ -3313,10 +3360,10 @@ class LibvirtDriver(driver.ComputeDriver):
def wait_for_live_migration():
"""waiting for live migration completion."""
try:
- self.get_info(instance_ref)['state']
+ self.get_info(instance)['state']
except exception.NotFound:
timer.stop()
- post_method(ctxt, instance_ref, dest, block_migration,
+ post_method(context, instance, dest, block_migration,
migrate_data)
timer.f = wait_for_live_migration
@@ -3412,7 +3459,7 @@ class LibvirtDriver(driver.ComputeDriver):
instance=instance)
greenthread.sleep(1)
- def pre_block_migration(self, ctxt, instance, disk_info_json):
+ def pre_block_migration(self, context, instance, disk_info_json):
"""Preparation for block migration."""
# NOTE (rmk): When preparing for a block migration, the instance dir
# should not exist on the destination hypervisor.
@@ -3420,11 +3467,11 @@ class LibvirtDriver(driver.ComputeDriver):
if os.path.exists(instance_dir):
raise exception.DestinationDiskExists(path=instance_dir)
os.mkdir(instance_dir)
- self._create_images_and_backing(ctxt, instance, disk_info_json)
+ self._create_images_and_backing(context, instance, disk_info_json)
- def _create_images_and_backing(self, ctxt, instance, disk_info_json):
+ def _create_images_and_backing(self, context, instance, disk_info_json):
"""
- :params ctxt: security context
+ :params context: security context
:params instance:
nova.db.sqlalchemy.models.Instance object
instance object that is migrated.
@@ -3453,7 +3500,7 @@ class LibvirtDriver(driver.ComputeDriver):
instance_disk,
CONF.libvirt_images_type)
image.cache(fetch_func=libvirt_utils.fetch_image,
- context=ctxt,
+ context=context,
filename=cache_name,
image_id=instance['image_ref'],
user_id=instance['user_id'],
@@ -3462,17 +3509,17 @@ class LibvirtDriver(driver.ComputeDriver):
# if image has kernel and ramdisk, just download
# following normal way.
- self._fetch_instance_kernel_ramdisk(ctxt, instance)
+ self._fetch_instance_kernel_ramdisk(context, instance)
- def post_live_migration_at_destination(self, ctxt,
- instance_ref,
+ def post_live_migration_at_destination(self, context,
+ instance,
network_info,
block_migration,
block_device_info=None):
"""Post operation of live migration at destination host.
- :param ctxt: security context
- :param instance_ref:
+ :param context: security context
+ :param instance:
nova.db.sqlalchemy.models.Instance object
instance object that is migrated.
:param network_info: instance network information
@@ -3480,23 +3527,24 @@ class LibvirtDriver(driver.ComputeDriver):
"""
# Define migrated instance, otherwise, suspend/destroy does not work.
dom_list = self._conn.listDefinedDomains()
- if instance_ref["name"] not in dom_list:
+ if instance["name"] not in dom_list:
# In case of block migration, destination does not have
# libvirt.xml
disk_info = blockinfo.get_disk_info(CONF.libvirt_type,
- instance_ref)
- self.to_xml(instance_ref, network_info, disk_info,
+ instance)
+ self.to_xml(instance, network_info, disk_info,
block_device_info, write_to_disk=True)
# libvirt.xml should be made by to_xml(), but libvirt
# does not accept to_xml() result, since uuid is not
# included in to_xml() result.
- dom = self._lookup_by_name(instance_ref["name"])
+ dom = self._lookup_by_name(instance["name"])
self._conn.defineXML(dom.XMLDesc(0))
- def get_instance_disk_info(self, instance_name, xml=None):
+ def get_instance_disk_info(self, instance_name, xml=None,
+ block_device_info=None):
"""Preparation block migration.
- :params instance_ref:
+ :params instance:
nova.db.sqlalchemy.models.Instance object
instance object that is migrated.
:return:
@@ -3517,31 +3565,49 @@ class LibvirtDriver(driver.ComputeDriver):
xml = virt_dom.XMLDesc(0)
except libvirt.libvirtError as ex:
error_code = ex.get_error_code()
- msg = _("Error from libvirt while getting description of "
- "%(instance_name)s: [Error Code %(error_code)s] "
- "%(ex)s") % locals()
+ msg = (_('Error from libvirt while getting description of '
+ '%(instance_name)s: [Error Code %(error_code)s] '
+ '%(ex)s') %
+ {'instance_name': instance_name,
+ 'error_code': error_code,
+ 'ex': ex})
LOG.warn(msg)
raise exception.InstanceNotFound(instance_id=instance_name)
+ # NOTE (rmk): When block_device_info is provided, we will use it to
+ # filter out devices which are actually volumes.
+ block_device_mapping = driver.block_device_info_get_mapping(
+ block_device_info)
+
+ volume_devices = set()
+ for vol in block_device_mapping:
+ disk_dev = vol['mount_device'].rpartition("/")[2]
+ volume_devices.add(disk_dev)
+
disk_info = []
doc = etree.fromstring(xml)
disk_nodes = doc.findall('.//devices/disk')
path_nodes = doc.findall('.//devices/disk/source')
driver_nodes = doc.findall('.//devices/disk/driver')
+ target_nodes = doc.findall('.//devices/disk/target')
for cnt, path_node in enumerate(path_nodes):
disk_type = disk_nodes[cnt].get('type')
path = path_node.get('file')
+ target = target_nodes[cnt].attrib['dev']
if disk_type != 'file':
- LOG.debug(_('skipping %(path)s since it looks like volume') %
- locals())
+ LOG.debug(_('skipping %s since it looks like volume'), path)
continue
if not path:
- LOG.debug(_('skipping disk for %(instance_name)s as it'
- ' does not have a path') %
- locals())
+ LOG.debug(_('skipping disk for %s as it does not have a path'),
+ instance_name)
+ continue
+
+ if target in volume_devices:
+ LOG.debug(_('skipping disk %(path)s (%(target)s) as it is a '
+ 'volume'), {'path': path, 'target': target})
continue
# get the real disk size or
@@ -3580,8 +3646,8 @@ class LibvirtDriver(driver.ComputeDriver):
info['over_committed_disk_size'])
except OSError as e:
if e.errno == errno.ENOENT:
- LOG.error(_("Getting disk size of %(i_name)s: %(e)s") %
- locals())
+ LOG.error(_('Getting disk size of %(i_name)s: %(e)s'),
+ {'i_name': i_name, 'e': e})
else:
raise
except exception.InstanceNotFound:
@@ -3591,9 +3657,9 @@ class LibvirtDriver(driver.ComputeDriver):
greenthread.sleep(0)
return disk_over_committed_size
- def unfilter_instance(self, instance_ref, network_info):
+ def unfilter_instance(self, instance, network_info):
"""See comments of same method in firewall_driver."""
- self.firewall_driver.unfilter_instance(instance_ref,
+ self.firewall_driver.unfilter_instance(instance,
network_info=network_info)
def get_host_stats(self, refresh=False):
@@ -3652,7 +3718,8 @@ class LibvirtDriver(driver.ComputeDriver):
block_device_info=None):
LOG.debug(_("Starting migrate_disk_and_power_off"),
instance=instance)
- disk_info_text = self.get_instance_disk_info(instance['name'])
+ disk_info_text = self.get_instance_disk_info(instance['name'],
+ block_device_info=block_device_info)
disk_info = jsonutils.loads(disk_info_text)
# copy disks to destination
@@ -3912,9 +3979,7 @@ class LibvirtDriver(driver.ComputeDriver):
def instance_on_disk(self, instance):
# ensure directories exist and are writable
instance_path = libvirt_utils.get_instance_path(instance)
- LOG.debug(_('Checking instance files accessability'
- '%(instance_path)s')
- % locals())
+ LOG.debug(_('Checking instance files accessability %s'), instance_path)
return os.access(instance_path, os.W_OK)
def inject_network_info(self, instance, nw_info):
diff --git a/nova/virt/libvirt/firewall.py b/nova/virt/libvirt/firewall.py
index f55e29df9..f9e948a5e 100644
--- a/nova/virt/libvirt/firewall.py
+++ b/nova/virt/libvirt/firewall.py
@@ -245,9 +245,8 @@ class NWFilterFirewall(base_firewall.FirewallDriver):
# This happens when the instance filter is still in
# use (ie. when the instance has not terminated properly)
raise
- LOG.debug(_('The nwfilter(%(instance_filter_name)s) '
- 'is not found.') % locals(),
- instance=instance)
+ LOG.debug(_('The nwfilter(%s) is not found.'),
+ instance_filter_name, instance=instance)
def _define_filters(self, filter_name, filter_children):
self._define_filter(self._filter_container(filter_name,
@@ -269,7 +268,9 @@ class NWFilterFirewall(base_firewall.FirewallDriver):
except libvirt.libvirtError:
name = instance['name']
LOG.debug(_('The nwfilter(%(instance_filter_name)s) for'
- '%(name)s is not found.') % locals(),
+ '%(name)s is not found.'),
+ {'instance_filter_name': instance_filter_name,
+ 'name': name},
instance=instance)
return False
return True
diff --git a/nova/virt/libvirt/vif.py b/nova/virt/libvirt/vif.py
index b8b9df1a9..9b33a12fe 100644
--- a/nova/virt/libvirt/vif.py
+++ b/nova/virt/libvirt/vif.py
@@ -228,6 +228,36 @@ class LibvirtGenericVIFDriver(LibvirtBaseVIFDriver):
mapping,
image_meta)
+ def get_config_ivs_hybrid(self, instance, network, mapping, image_meta):
+ newnet = copy.deepcopy(network)
+ newnet['bridge'] = self.get_br_name(mapping['vif_uuid'])
+ return self.get_config_bridge(instance,
+ newnet,
+ mapping,
+ image_meta)
+
+ def get_config_ivs_ethernet(self, instance, network, mapping, image_meta):
+ conf = super(LibvirtGenericVIFDriver,
+ self).get_config(instance,
+ network,
+ mapping,
+ image_meta)
+
+ dev = self.get_vif_devname(mapping)
+ designer.set_vif_host_backend_ethernet_config(conf, dev)
+
+ return conf
+
+ def get_config_ivs(self, instance, network, mapping, image_meta):
+ if self.get_firewall_required():
+ return self.get_config_ivs_hybrid(instance, network,
+ mapping,
+ image_meta)
+ else:
+ return self.get_config_ivs_ethernet(instance, network,
+ mapping,
+ image_meta)
+
def get_config_802qbg(self, instance, network, mapping, image_meta):
conf = super(LibvirtGenericVIFDriver,
self).get_config(instance,
@@ -262,16 +292,16 @@ class LibvirtGenericVIFDriver(LibvirtBaseVIFDriver):
def get_config(self, instance, network, mapping, image_meta):
vif_type = mapping.get('vif_type')
- LOG.debug(_("vif_type=%(vif_type)s instance=%(instance)s "
- "network=%(network)s mapping=%(mapping)s")
- % locals())
+ LOG.debug(_('vif_type=%(vif_type)s instance=%(instance)s '
+ 'network=%(network)s mapping=%(mapping)s'),
+ {'vif_type': vif_type, 'instance': instance,
+ 'network': network, 'mapping': mapping})
if vif_type is None:
raise exception.NovaException(
_("vif_type parameter must be present "
"for this vif_driver implementation"))
-
- if vif_type == network_model.VIF_TYPE_BRIDGE:
+ elif vif_type == network_model.VIF_TYPE_BRIDGE:
return self.get_config_bridge(instance,
network, mapping,
image_meta)
@@ -287,6 +317,10 @@ class LibvirtGenericVIFDriver(LibvirtBaseVIFDriver):
return self.get_config_802qbh(instance,
network, mapping,
image_meta)
+ elif vif_type == network_model.VIF_TYPE_IVS:
+ return self.get_config_ivs(instance,
+ network, mapping,
+ image_meta)
else:
raise exception.NovaException(
_("Unexpected vif_type=%s") % vif_type)
@@ -371,6 +405,51 @@ class LibvirtGenericVIFDriver(LibvirtBaseVIFDriver):
else:
self.plug_ovs_ethernet(instance, vif)
+ def plug_ivs_ethernet(self, instance, vif):
+ super(LibvirtGenericVIFDriver,
+ self).plug(instance, vif)
+
+ network, mapping = vif
+ iface_id = self.get_ovs_interfaceid(mapping)
+ dev = self.get_vif_devname(mapping)
+ linux_net.create_tap_dev(dev)
+ linux_net.create_ivs_vif_port(dev, iface_id, mapping['mac'],
+ instance['uuid'])
+
+ def plug_ivs_hybrid(self, instance, vif):
+ """Plug using hybrid strategy (same as OVS)
+
+ Create a per-VIF linux bridge, then link that bridge to the OVS
+ integration bridge via a veth device, setting up the other end
+ of the veth device just like a normal IVS port. Then boot the
+ VIF on the linux bridge using standard libvirt mechanisms.
+ """
+ super(LibvirtGenericVIFDriver,
+ self).plug(instance, vif)
+
+ network, mapping = vif
+ iface_id = self.get_ovs_interfaceid(mapping)
+ br_name = self.get_br_name(mapping['vif_uuid'])
+ v1_name, v2_name = self.get_veth_pair_names(mapping['vif_uuid'])
+
+ if not linux_net.device_exists(br_name):
+ utils.execute('brctl', 'addbr', br_name, run_as_root=True)
+ utils.execute('brctl', 'setfd', br_name, 0, run_as_root=True)
+ utils.execute('brctl', 'stp', br_name, 'off', run_as_root=True)
+
+ if not linux_net.device_exists(v2_name):
+ linux_net._create_veth_pair(v1_name, v2_name)
+ utils.execute('ip', 'link', 'set', br_name, 'up', run_as_root=True)
+ utils.execute('brctl', 'addif', br_name, v1_name, run_as_root=True)
+ linux_net.create_ivs_vif_port(v2_name, iface_id, mapping['mac'],
+ instance['uuid'])
+
+ def plug_ivs(self, instance, vif):
+ if self.get_firewall_required():
+ self.plug_ivs_hybrid(instance, vif)
+ else:
+ self.plug_ivs_ethernet(instance, vif)
+
def plug_802qbg(self, instance, vif):
super(LibvirtGenericVIFDriver,
self).plug(instance, vif)
@@ -383,16 +462,16 @@ class LibvirtGenericVIFDriver(LibvirtBaseVIFDriver):
network, mapping = vif
vif_type = mapping.get('vif_type')
- LOG.debug(_("vif_type=%(vif_type)s instance=%(instance)s "
- "network=%(network)s mapping=%(mapping)s")
- % locals())
+ LOG.debug(_('vif_type=%(vif_type)s instance=%(instance)s '
+ 'network=%(network)s mapping=%(mapping)s'),
+ {'vif_type': vif_type, 'instance': instance,
+ 'network': network, 'mapping': mapping})
if vif_type is None:
raise exception.NovaException(
_("vif_type parameter must be present "
"for this vif_driver implementation"))
-
- if vif_type == network_model.VIF_TYPE_BRIDGE:
+ elif vif_type == network_model.VIF_TYPE_BRIDGE:
self.plug_bridge(instance, vif)
elif vif_type == network_model.VIF_TYPE_OVS:
self.plug_ovs(instance, vif)
@@ -400,6 +479,8 @@ class LibvirtGenericVIFDriver(LibvirtBaseVIFDriver):
self.plug_802qbg(instance, vif)
elif vif_type == network_model.VIF_TYPE_802_QBH:
self.plug_802qbh(instance, vif)
+ elif vif_type == network_model.VIF_TYPE_IVS:
+ self.plug_ivs(instance, vif)
else:
raise exception.NovaException(
_("Unexpected vif_type=%s") % vif_type)
@@ -458,6 +539,45 @@ class LibvirtGenericVIFDriver(LibvirtBaseVIFDriver):
else:
self.unplug_ovs_ethernet(instance, vif)
+ def unplug_ivs_ethernet(self, instance, vif):
+ """Unplug the VIF by deleting the port from the bridge."""
+ super(LibvirtGenericVIFDriver,
+ self).unplug(instance, vif)
+
+ try:
+ network, mapping = vif
+ linux_net.delete_ivs_vif_port(self.get_vif_devname(mapping))
+ except exception.ProcessExecutionError:
+ LOG.exception(_("Failed while unplugging vif"), instance=instance)
+
+ def unplug_ivs_hybrid(self, instance, vif):
+ """UnPlug using hybrid strategy (same as OVS)
+
+ Unhook port from IVS, unhook port from bridge, delete
+ bridge, and delete both veth devices.
+ """
+ super(LibvirtGenericVIFDriver,
+ self).unplug(instance, vif)
+
+ try:
+ network, mapping = vif
+ br_name = self.get_br_name(mapping['vif_uuid'])
+ v1_name, v2_name = self.get_veth_pair_names(mapping['vif_uuid'])
+
+ utils.execute('brctl', 'delif', br_name, v1_name, run_as_root=True)
+ utils.execute('ip', 'link', 'set', br_name, 'down',
+ run_as_root=True)
+ utils.execute('brctl', 'delbr', br_name, run_as_root=True)
+ linux_net.delete_ivs_vif_port(v2_name)
+ except exception.ProcessExecutionError:
+ LOG.exception(_("Failed while unplugging vif"), instance=instance)
+
+ def unplug_ivs(self, instance, vif):
+ if self.get_firewall_required():
+ self.unplug_ovs_hybrid(instance, vif)
+ else:
+ self.unplug_ovs_ethernet(instance, vif)
+
def unplug_802qbg(self, instance, vif):
super(LibvirtGenericVIFDriver,
self).unplug(instance, vif)
@@ -470,16 +590,16 @@ class LibvirtGenericVIFDriver(LibvirtBaseVIFDriver):
network, mapping = vif
vif_type = mapping.get('vif_type')
- LOG.debug(_("vif_type=%(vif_type)s instance=%(instance)s "
- "network=%(network)s mapping=%(mapping)s")
- % locals())
+ LOG.debug(_('vif_type=%(vif_type)s instance=%(instance)s '
+ 'network=%(network)s mapping=%(mapping)s'),
+ {'vif_type': vif_type, 'instance': instance,
+ 'network': network, 'mapping': mapping})
if vif_type is None:
raise exception.NovaException(
_("vif_type parameter must be present "
"for this vif_driver implementation"))
-
- if vif_type == network_model.VIF_TYPE_BRIDGE:
+ elif vif_type == network_model.VIF_TYPE_BRIDGE:
self.unplug_bridge(instance, vif)
elif vif_type == network_model.VIF_TYPE_OVS:
self.unplug_ovs(instance, vif)
@@ -487,6 +607,8 @@ class LibvirtGenericVIFDriver(LibvirtBaseVIFDriver):
self.unplug_802qbg(instance, vif)
elif vif_type == network_model.VIF_TYPE_802_QBH:
self.unplug_802qbh(instance, vif)
+ elif vif_type == network_model.VIF_TYPE_IVS:
+ self.unplug_ivs(instance, vif)
else:
raise exception.NovaException(
_("Unexpected vif_type=%s") % vif_type)
diff --git a/nova/virt/powervm/command.py b/nova/virt/powervm/command.py
index eec7fc2d3..aa82650cc 100644
--- a/nova/virt/powervm/command.py
+++ b/nova/virt/powervm/command.py
@@ -1,6 +1,6 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
-# Copyright 2012 IBM Corp.
+# Copyright 2013 IBM Corp.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
@@ -68,6 +68,15 @@ class BaseCommand(object):
def chsyscfg(self, args=''):
return 'chsyscfg %s' % args
+ def sysstat(self, args=''):
+ """
+ Returns a string of the formatted sysstat command to run.
+ Typically this command should be run with the -short option
+ and a User operand should be provided to narrow the results.
+ :returns: string - formatted sysstat command
+ """
+ return 'sysstat %s' % args
+
class IVMCommand(BaseCommand):
@@ -97,3 +106,6 @@ class IVMCommand(BaseCommand):
def hostname(self, args=''):
return 'ioscli ' + BaseCommand.hostname(self, args=args)
+
+ def sysstat(self, args=''):
+ return 'ioscli ' + BaseCommand.sysstat(self, args=args)
diff --git a/nova/virt/powervm/driver.py b/nova/virt/powervm/driver.py
index 5ec5a505f..a97f7d011 100755
--- a/nova/virt/powervm/driver.py
+++ b/nova/virt/powervm/driver.py
@@ -1,6 +1,6 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
-# Copyright 2012 IBM Corp.
+# Copyright 2013 IBM Corp.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
@@ -90,6 +90,10 @@ class PowerVMDriver(driver.ComputeDriver):
"""Return currently known host stats."""
return self._powervm.get_host_stats(refresh=refresh)
+ def get_host_uptime(self, host):
+ """Returns the result of calling "uptime" on the target host."""
+ return self._powervm.get_host_uptime(host)
+
def plug_vifs(self, instance, network_info):
pass
@@ -162,10 +166,6 @@ class PowerVMDriver(driver.ComputeDriver):
'container_format': image_meta['container_format']
}
- if 'architecture' in image_meta['properties']:
- arch = image_meta['properties']['architecture']
- new_snapshot_meta['properties']['architecture'] = arch
-
# disk capture and glance upload
self._powervm.capture_image(context, instance, image_id,
new_snapshot_meta, update_task_state)
@@ -195,7 +195,8 @@ class PowerVMDriver(driver.ComputeDriver):
"""Power off the specified instance."""
self._powervm.power_off(instance['name'])
- def power_on(self, instance):
+ def power_on(self, context, instance, network_info,
+ block_device_info=None):
"""Power on the specified instance."""
self._powervm.power_on(instance['name'])
diff --git a/nova/virt/powervm/lpar.py b/nova/virt/powervm/lpar.py
index 7be8b046a..a6c782692 100644
--- a/nova/virt/powervm/lpar.py
+++ b/nova/virt/powervm/lpar.py
@@ -51,7 +51,7 @@ def load_from_conf_data(conf_data):
for (key, value) in attribs.items():
try:
lpar[key] = value
- except exception.PowerVMLPARAttributeNotFound as e:
+ except exception.PowerVMLPARAttributeNotFound:
LOG.info(_('Encountered unknown LPAR attribute: %s\n'
'Continuing without storing') % key)
return lpar
diff --git a/nova/virt/powervm/operator.py b/nova/virt/powervm/operator.py
index 18cba0ba2..9d59e7ce4 100644
--- a/nova/virt/powervm/operator.py
+++ b/nova/virt/powervm/operator.py
@@ -169,6 +169,10 @@ class PowerVMOperator(object):
self._host_stats = data
+ def get_host_uptime(self, host):
+ """Returns the result of calling "uptime" on the target host."""
+ return self._operator.get_host_uptime(host)
+
def spawn(self, context, instance, image_id, network_info):
def _create_image(context, instance, image_id):
"""Fetch image from glance and copy it to the remote system."""
@@ -626,6 +630,19 @@ class BaseOperator(object):
return {'total_mem': int(total_mem),
'avail_mem': int(avail_mem)}
+ def get_host_uptime(self, host):
+ """
+ Get host uptime.
+ :returns: string - amount of time since last system startup
+ """
+ # The output of the command is like this:
+ # "02:54PM up 24 days, 5:41, 1 user, load average: 0.06, 0.03, 0.02"
+ cmd = self.command.sysstat('-short %s' % self.connection_data.username)
+ output = self.run_vios_command(cmd)
+ # parse the sysstat output so we just return the uptime
+ system_time, uptime = output[0].split(',')[0:2]
+ return system_time + uptime
+
def get_cpu_info(self):
"""Get CPU info.
@@ -766,11 +783,11 @@ class BaseOperator(object):
def _decompress_image_file(self, file_path, outfile_path):
command = "/usr/bin/gunzip -c %s > %s" % (file_path, outfile_path)
- output = self.run_vios_command_as_root(command)
+ self.run_vios_command_as_root(command)
# Remove compressed image file
command = "/usr/bin/rm %s" % file_path
- output = self.run_vios_command_as_root(command)
+ self.run_vios_command_as_root(command)
return outfile_path
diff --git a/nova/virt/vmwareapi/driver.py b/nova/virt/vmwareapi/driver.py
index 3cf9d32b4..ef06d447a 100755
--- a/nova/virt/vmwareapi/driver.py
+++ b/nova/virt/vmwareapi/driver.py
@@ -127,6 +127,12 @@ class Failure(Exception):
class VMwareESXDriver(driver.ComputeDriver):
"""The ESX host connection object."""
+ # VMwareAPI has both ESXi and vCenter API sets.
+ # The ESXi API are a proper sub-set of the vCenter API.
+ # That is to say, nearly all valid ESXi calls are
+ # valid vCenter calls. There are some small edge-case
+ # exceptions regarding VNC, CIM, User management & SSO.
+
def __init__(self, virtapi, read_only=False, scheme="https"):
super(VMwareESXDriver, self).__init__(virtapi)
@@ -218,9 +224,32 @@ class VMwareESXDriver(driver.ComputeDriver):
"""Power off the specified instance."""
self._vmops.power_off(instance)
- def power_on(self, instance):
+ def power_on(self, context, instance, network_info,
+ block_device_info=None):
"""Power on the specified instance."""
- self._vmops.power_on(instance)
+ self._vmops._power_on(instance)
+
+ def resume_state_on_host_boot(self, context, instance, network_info,
+ block_device_info=None):
+ """resume guest state when a host is booted."""
+ # Check if the instance is running already and avoid doing
+ # anything if it is.
+ instances = self.list_instances()
+ if instance['uuid'] not in instances:
+ LOG.warn(_('Instance cannot be found in host, or in an unknown'
+ 'state.'), instance=instance)
+ else:
+ state = vm_util.get_vm_state_from_name(self._session,
+ instance['uuid'])
+ ignored_states = ['poweredon', 'suspended']
+
+ if state.lower() in ignored_states:
+ return
+ # Instance is not up and could be in an unknown state.
+ # Be as absolute as possible about getting it back into
+ # a known and running state.
+ self.reboot(context, instance, network_info, 'hard',
+ block_device_info)
def poll_rebooting_instances(self, timeout, instances):
"""Poll for rebooting instances."""
@@ -337,6 +366,14 @@ class VMwareESXDriver(driver.ComputeDriver):
class VMwareVCDriver(VMwareESXDriver):
"""The ESX host connection object."""
+ # The vCenter driver includes several additional VMware vSphere
+ # capabilities that include API that act on hosts or groups of
+ # hosts in clusters or non-cluster logical-groupings.
+ #
+ # vCenter is not a hypervisor itself, it works with multiple
+ # hypervisor host machines and their guests. This fact can
+ # subtly alter how vSphere and OpenStack interoperate.
+
def __init__(self, virtapi, read_only=False, scheme="https"):
super(VMwareVCDriver, self).__init__(virtapi)
self._cluster_name = CONF.vmwareapi_cluster_name
@@ -379,7 +416,8 @@ class VMwareVCDriver(VMwareESXDriver):
def finish_revert_migration(self, instance, network_info,
block_device_info=None, power_on=True):
"""Finish reverting a resize, powering back on the instance."""
- self._vmops.finish_revert_migration(instance, power_on)
+ self._vmops.finish_revert_migration(instance, network_info,
+ block_device_info, power_on)
def finish_migration(self, context, migration, instance, disk_info,
network_info, image_meta, resize_instance=False,
@@ -387,7 +425,7 @@ class VMwareVCDriver(VMwareESXDriver):
"""Completes a resize, turning on the migrated instance."""
self._vmops.finish_migration(context, migration, instance, disk_info,
network_info, image_meta, resize_instance,
- power_on)
+ block_device_info, power_on)
def live_migration(self, context, instance_ref, dest,
post_method, recover_method, block_migration=False,
@@ -397,6 +435,14 @@ class VMwareVCDriver(VMwareESXDriver):
post_method, recover_method,
block_migration)
+ def get_vnc_console(self, instance):
+ """Return link to instance's VNC console using vCenter logic."""
+ # In this situation, ESXi and vCenter require different
+ # API logic to create a valid VNC console connection object.
+ # In specific, vCenter does not actually run the VNC service
+ # itself. You must talk to the VNC host underneath vCenter.
+ return self._vmops.get_vnc_console_vcenter(instance)
+
class VMwareAPISession(object):
"""
diff --git a/nova/virt/vmwareapi/fake.py b/nova/virt/vmwareapi/fake.py
index 83c53e5cb..abf896c79 100644
--- a/nova/virt/vmwareapi/fake.py
+++ b/nova/virt/vmwareapi/fake.py
@@ -21,6 +21,7 @@
A fake VMware VI API implementation.
"""
+import collections
import pprint
import uuid
@@ -30,7 +31,7 @@ from nova.virt.vmwareapi import error_util
_CLASSES = ['Datacenter', 'Datastore', 'ResourcePool', 'VirtualMachine',
'Network', 'HostSystem', 'HostNetworkSystem', 'Task', 'session',
- 'files']
+ 'files', 'ClusterComputeResource']
_FAKE_FILE_SIZE = 1024
@@ -61,6 +62,7 @@ def reset():
create_datacenter()
create_datastore()
create_res_pool()
+ create_cluster()
def cleanup():
@@ -82,22 +84,72 @@ def _get_objects(obj_type):
return lst_objs
-class Prop(object):
+class Property(object):
"""Property Object base class."""
- def __init__(self):
- self.name = None
- self.val = None
+ def __init__(self, name=None, val=None):
+ self.name = name
+ self.val = val
+
+
+class ManagedObjectReference(object):
+ """A managed object reference is a remote identifier."""
+
+ def __init__(self, value="object-123", _type="ManagedObject"):
+ super(ManagedObjectReference, self)
+ # Managed Object Reference value attributes
+ # typically have values like vm-123 or
+ # host-232 and not UUID.
+ self.value = value
+ # Managed Object Reference _type
+ # attributes hold the name of the type
+ # of the vCenter object the value
+ # attribute is the identifier for
+ self._type = _type
+
+
+class ObjectContent(object):
+ """ObjectContent array holds dynamic properties."""
+
+ # This class is a *fake* of a class sent back to us by
+ # SOAP. It has its own names. These names are decided
+ # for us by the API we are *faking* here.
+ def __init__(self, obj_ref, prop_list=None, missing_list=None):
+ self.obj = obj_ref
+
+ if not isinstance(prop_list, collections.Iterable):
+ prop_list = []
+
+ if not isinstance(missing_list, collections.Iterable):
+ missing_list = []
+
+ # propSet is the name your Python code will need to
+ # use since this is the name that the API will use
+ self.propSet = prop_list
+
+ # missingSet is the name your python code will
+ # need to use since this is the name that the
+ # API we are talking to will use.
+ self.missingSet = missing_list
class ManagedObject(object):
- """Managed Data Object base class."""
+ """Managed Object base class."""
- def __init__(self, name="ManagedObject", obj_ref=None):
+ def __init__(self, name="ManagedObject", obj_ref=None, value=None):
"""Sets the obj property which acts as a reference to the object."""
super(ManagedObject, self).__setattr__('objName', name)
+
+ # A managed object is a local representation of a
+ # remote object that you can reference using the
+ # object reference.
if obj_ref is None:
- obj_ref = str(uuid.uuid4())
+ if value is None:
+ value = 'obj-123'
+ obj_ref = ManagedObjectReference(value, name)
+
+ # we use __setattr__ here because below the
+ # default setter has been altered for this class.
object.__setattr__(self, 'obj', obj_ref)
object.__setattr__(self, 'propSet', [])
@@ -117,16 +169,20 @@ class ManagedObject(object):
return self.__getattr__(attr)
def __setattr__(self, attr, val):
+ # TODO(hartsocks): this is adds unnecessary complexity to the class
for prop in self.propSet:
if prop.name == attr:
prop.val = val
return
- elem = Prop()
+ elem = Property()
elem.name = attr
elem.val = val
self.propSet.append(elem)
def __getattr__(self, attr):
+ # TODO(hartsocks): remove this
+ # in a real ManagedObject you have to iterate the propSet
+ # in a real ManagedObject, the propSet is a *set* not a list
for elem in self.propSet:
if elem.name == attr:
return elem.val
@@ -141,6 +197,10 @@ class DataObject(object):
self.obj_name = obj_name
+class HostInternetScsiHba():
+ pass
+
+
class VirtualDisk(DataObject):
"""
Virtual Disk class.
@@ -186,7 +246,7 @@ class VirtualMachine(ManagedObject):
"""Virtual Machine class."""
def __init__(self, **kwargs):
- super(VirtualMachine, self).__init__("VirtualMachine")
+ super(VirtualMachine, self).__init__("VirtualMachine", value='vm-10')
self.set("name", kwargs.get("name"))
self.set("runtime.connectionState",
kwargs.get("conn_state", "connected"))
@@ -204,6 +264,8 @@ class VirtualMachine(ManagedObject):
self.set("summary.config.memorySizeMB", kwargs.get("mem", 1))
self.set("config.hardware.device", kwargs.get("virtual_device", None))
self.set("config.extraConfig", kwargs.get("extra_config", None))
+ self.set('runtime.host',
+ ManagedObjectReference(value='host-123', _type="HostSystem"))
self.device = kwargs.get("virtual_device")
def reconfig(self, factory, val):
@@ -250,6 +312,25 @@ class ResourcePool(ManagedObject):
self.set("name", "ResPool")
+class ClusterComputeResource(ManagedObject):
+ """Cluster class."""
+ def __init__(self, **kwargs):
+ super(ClusterComputeResource, self).__init__("ClusterComputeResource",
+ value="domain-test")
+ r_pool = DataObject()
+ r_pool.ManagedObjectReference = [_get_objects("ResourcePool")[0].obj]
+ self.set("resourcePool", r_pool)
+
+ host_sys = DataObject()
+ host_sys.ManagedObjectReference = [_get_objects("HostSystem")[0].obj]
+ self.set("host", host_sys)
+ self.set("name", "test_cluster")
+
+ datastore = DataObject()
+ datastore.ManagedObjectReference = [_get_objects("Datastore")[0].obj]
+ self.set("datastore", datastore)
+
+
class Datastore(ManagedObject):
"""Datastore class."""
@@ -280,8 +361,8 @@ class HostNetworkSystem(ManagedObject):
class HostSystem(ManagedObject):
"""Host System class."""
- def __init__(self):
- super(HostSystem, self).__init__("HostSystem")
+ def __init__(self, obj_ref=None, value='host-123'):
+ super(HostSystem, self).__init__("HostSystem", obj_ref, value)
self.set("name", "ha-host")
if _db_content.get("HostNetworkSystem", None) is None:
create_host_network_system()
@@ -347,6 +428,17 @@ class HostSystem(ManagedObject):
host_pg.HostPortGroup = [host_pg_do]
self.set("config.network.portgroup", host_pg)
+ config = DataObject()
+ storageDevice = DataObject()
+
+ hostBusAdapter = HostInternetScsiHba()
+ hostBusAdapter.HostHostBusAdapter = [hostBusAdapter]
+ hostBusAdapter.iScsiName = "iscsi-name"
+ storageDevice.hostBusAdapter = hostBusAdapter
+ config.storageDevice = storageDevice
+ self.set("config.storageDevice.hostBusAdapter",
+ config.storageDevice.hostBusAdapter)
+
def _add_port_group(self, spec):
"""Adds a port group to the host system object in the db."""
pg_name = spec.name
@@ -429,6 +521,11 @@ def create_network():
_create_object('Network', network)
+def create_cluster():
+ cluster = ClusterComputeResource()
+ _create_object('ClusterComputeResource', cluster)
+
+
def create_task(task_name, state="running"):
task = Task(task_name, state)
_create_object("Task", task)
@@ -682,6 +779,8 @@ class FakeVim(object):
spec_set = kwargs.get("specSet")[0]
type = spec_set.propSet[0].type
properties = spec_set.propSet[0].pathSet
+ if not isinstance(properties, list):
+ properties = properties.split()
objs = spec_set.objectSet
lst_ret_objs = []
for obj in objs:
diff --git a/nova/virt/vmwareapi/vm_util.py b/nova/virt/vmwareapi/vm_util.py
index fecac5bcc..94da5c677 100644
--- a/nova/virt/vmwareapi/vm_util.py
+++ b/nova/virt/vmwareapi/vm_util.py
@@ -20,6 +20,7 @@ The VMware API VM utility module to build SOAP object specs.
"""
import copy
+
from nova import exception
from nova.virt.vmwareapi import vim_util
@@ -50,6 +51,10 @@ def get_vm_create_spec(client_factory, instance, data_store_name,
config_spec.name = instance['uuid']
config_spec.guestId = os_type
+ # Allow nested ESX instances to host 64 bit VMs.
+ if os_type == "vmkernel5Guest":
+ config_spec.nestedHVEnabled = "True"
+
vm_file_info = client_factory.create('ns0:VirtualMachineFileInfo')
vm_file_info.vmPathName = "[" + data_store_name + "]"
config_spec.files = vm_file_info
@@ -522,6 +527,118 @@ def get_vm_ref(session, instance):
return vm_ref
+def get_host_ref_from_id(session, host_id, property_list=None):
+ """Get a host reference object for a host_id string."""
+
+ if property_list is None:
+ property_list = ['name']
+
+ host_refs = session._call_method(
+ vim_util, "get_objects",
+ "HostSystem", property_list)
+
+ for ref in host_refs:
+ if ref.obj.value == host_id:
+ return ref
+
+
+def get_host_id_from_vm_ref(session, vm_ref):
+ """
+ This method allows you to find the managed object
+ ID of the host running a VM. Since vMotion can
+ change the value, you should not presume that this
+ is a value that you can cache for very long and
+ should be prepared to allow for it to change.
+
+ :param session: a vSphere API connection
+ :param vm_ref: a reference object to the running VM
+ :return: the host_id running the virtual machine
+ """
+
+ # to prevent typographical errors below
+ property_name = 'runtime.host'
+
+ # a property collector in VMware vSphere Management API
+ # is a set of local representations of remote values.
+ # property_set here, is a local representation of the
+ # properties we are querying for.
+ property_set = session._call_method(
+ vim_util, "get_object_properties",
+ None, vm_ref, vm_ref._type, [property_name])
+
+ prop = property_from_property_set(
+ property_name, property_set)
+
+ if prop is not None:
+ prop = prop.val.value
+ else:
+ # reaching here represents an impossible state
+ raise RuntimeError(
+ "Virtual Machine %s exists without a runtime.host!"
+ % (vm_ref))
+
+ return prop
+
+
+def property_from_property_set(property_name, property_set):
+ '''
+ Use this method to filter property collector results.
+
+ Because network traffic is expensive, multiple
+ VMwareAPI calls will sometimes pile-up properties
+ to be collected. That means results may contain
+ many different values for multiple purposes.
+
+ This helper will filter a list for a single result
+ and filter the properties of that result to find
+ the single value of whatever type resides in that
+ result. This could be a ManagedObjectReference ID
+ or a complex value.
+
+ :param property_name: name of property you want
+ :param property_set: all results from query
+ :return: the value of the property.
+ '''
+
+ for prop in property_set:
+ p = _property_from_propSet(prop.propSet, property_name)
+ if p is not None:
+ return p
+
+
+def _property_from_propSet(propSet, name='name'):
+ for p in propSet:
+ if p.name == name:
+ return p
+
+
+def get_host_ref_for_vm(session, instance, props):
+ """Get the ESXi host running a VM by its name."""
+
+ vm_ref = get_vm_ref(session, instance)
+ host_id = get_host_id_from_vm_ref(session, vm_ref)
+ return get_host_ref_from_id(session, host_id, props)
+
+
+def get_host_name_for_vm(session, instance):
+ """Get the ESXi host running a VM by its name."""
+ host_ref = get_host_ref_for_vm(session, instance, ['name'])
+ return get_host_name_from_host_ref(host_ref)
+
+
+def get_host_name_from_host_ref(host_ref):
+ p = _property_from_propSet(host_ref.propSet)
+ if p is not None:
+ return p.val
+
+
+def get_vm_state_from_name(session, vm_name):
+ vm_ref = get_vm_ref_from_name(session, vm_name)
+ vm_state = session._call_method(vim_util, "get_dynamic_property",
+ vm_ref, "VirtualMachine", "runtime.powerState")
+ return vm_state
+
+
def get_cluster_ref_from_name(session, cluster_name):
"""Get reference to the cluster with the name specified."""
cls = session._call_method(vim_util, "get_objects",
diff --git a/nova/virt/vmwareapi/vmops.py b/nova/virt/vmwareapi/vmops.py
index c58aac219..e8f63f1d7 100644
--- a/nova/virt/vmwareapi/vmops.py
+++ b/nova/virt/vmwareapi/vmops.py
@@ -807,7 +807,7 @@ class VMwareVMOps(object):
instance['name'] = instance['name'] + self._rescue_suffix
self.destroy(instance, None)
instance['name'] = instance_orig_name
- self.power_on(instance)
+ self._power_on(instance)
def power_off(self, instance):
"""Power off the specified instance."""
@@ -832,7 +832,7 @@ class VMwareVMOps(object):
LOG.debug(_("VM was already in powered off state. So returning "
"without doing anything"), instance=instance)
- def power_on(self, instance):
+ def _power_on(self, instance):
"""Power on the specified instance."""
vm_ref = vm_util.get_vm_ref(self._session, instance)
@@ -851,6 +851,9 @@ class VMwareVMOps(object):
self._session._wait_for_task(instance['uuid'], poweron_task)
LOG.debug(_("Powered on the VM"), instance=instance)
+ def power_on(self, context, instance, network_info, block_device_info):
+ self._power_on(instance)
+
def _get_orig_vm_name_label(self, instance):
return instance['name'] + '-orig'
@@ -954,7 +957,8 @@ class VMwareVMOps(object):
if network_info:
self.unplug_vifs(instance, network_info)
- def finish_revert_migration(self, instance, power_on=True):
+ def finish_revert_migration(self, instance, network_info,
+ block_device_info, power_on=True):
"""Finish reverting a resize."""
# The original vm was suffixed with '-orig'; find it using
# the old suffix, remove the suffix, then power it back on.
@@ -972,15 +976,15 @@ class VMwareVMOps(object):
LOG.debug(_("Renamed the VM from %s") % name_label,
instance=instance)
if power_on:
- self.power_on(instance)
+ self._power_on(instance)
def finish_migration(self, context, migration, instance, disk_info,
network_info, image_meta, resize_instance=False,
- power_on=True):
+ block_device_info=None, power_on=True):
"""Completes a resize, turning on the migrated instance."""
# 4. Start VM
if power_on:
- self.power_on(instance)
+ self._power_on(instance)
self._update_instance_progress(context, instance,
step=4,
total_steps=RESIZE_TOTAL_STEPS)
@@ -1085,6 +1089,26 @@ class VMwareVMOps(object):
'port': self._get_vnc_port(vm_ref),
'internal_access_path': None}
+ def get_vnc_console_vcenter(self, instance):
+ """Return connection info for a vnc console using vCenter logic."""
+
+ # vCenter does not run virtual machines and does not run
+ # a VNC proxy. Instead, you need to tell OpenStack to talk
+ # directly to the ESX host running the VM you are attempting
+ # to connect to via VNC.
+
+ vnc_console = self.get_vnc_console(instance)
+ host_name = vm_util.get_host_name_for_vm(
+ self._session,
+ instance)
+ vnc_console['host'] = host_name
+
+ # NOTE: VM can move hosts in some situations. Debug for admins.
+ LOG.debug(_("VM %(uuid)s is currently on host %(host_name)s"),
+ {'uuid': instance['name'], 'host_name': host_name})
+
+ return vnc_console
+
@staticmethod
def _get_vnc_port(vm_ref):
"""Return VNC port for an VM."""
diff --git a/nova/virt/xenapi/agent.py b/nova/virt/xenapi/agent.py
index 273c7bb97..0bd6d776e 100644
--- a/nova/virt/xenapi/agent.py
+++ b/nova/virt/xenapi/agent.py
@@ -27,6 +27,7 @@ from nova.api.metadata import password
from nova.compute import api as compute_api
from nova import context
from nova import crypto
+from nova import exception
from nova.openstack.common import jsonutils
from nova.openstack.common import log as logging
from nova.openstack.common import strutils
@@ -77,7 +78,7 @@ CONF.register_opts(xenapi_agent_opts)
def _call_agent(session, instance, vm_ref, method, addl_args=None,
- timeout=None):
+ timeout=None, success_code='0'):
"""Abstracts out the interaction with the agent xenapi plugin."""
if addl_args is None:
addl_args = {}
@@ -101,43 +102,39 @@ def _call_agent(session, instance, vm_ref, method, addl_args=None,
LOG.error(_('TIMEOUT: The call to %(method)s timed out. '
'args=%(args)r'),
{'method': method, 'args': args}, instance=instance)
- return {'returncode': 'timeout', 'message': err_msg}
+ raise exception.AgentTimeout(method=method)
elif 'NOT IMPLEMENTED:' in err_msg:
- LOG.error(_('NOT IMPLEMENTED: The call to %(method)s is not'
- ' supported by the agent. args=%(args)r'),
+ LOG.error(_('NOT IMPLEMENTED: The call to %(method)s is not '
+ 'supported by the agent. args=%(args)r'),
{'method': method, 'args': args}, instance=instance)
- return {'returncode': 'notimplemented', 'message': err_msg}
+ raise exception.AgentNotImplemented(method=method)
else:
LOG.error(_('The call to %(method)s returned an error: %(e)s. '
'args=%(args)r'),
{'method': method, 'args': args, 'e': e},
instance=instance)
- return {'returncode': 'error', 'message': err_msg}
- return None
+ raise exception.AgentError(method=method)
- if isinstance(ret, dict):
- return ret
- try:
- return jsonutils.loads(ret)
- except TypeError:
- LOG.error(_('The agent call to %(method)s returned an invalid '
- 'response: %(ret)r. args=%(args)r'),
+ if not isinstance(ret, dict):
+ try:
+ ret = jsonutils.loads(ret)
+ except TypeError:
+ LOG.error(_('The agent call to %(method)s returned an invalid '
+ 'response: %(ret)r. args=%(args)r'),
+ {'method': method, 'ret': ret, 'args': args},
+ instance=instance)
+ raise exception.AgentError(method=method)
+
+ if ret['returncode'] != success_code:
+ LOG.error(_('The agent call to %(method)s returned an '
+ 'an error: %(ret)r. args=%(args)r'),
{'method': method, 'ret': ret, 'args': args},
instance=instance)
- return {'returncode': 'error',
- 'message': 'unable to deserialize response'}
-
-
-def _get_agent_version(session, instance, vm_ref):
- resp = _call_agent(session, instance, vm_ref, 'version')
- if resp['returncode'] != '0':
- LOG.error(_('Failed to query agent version: %r'),
- resp, instance=instance)
- return None
+ raise exception.AgentError(method=method)
# Some old versions of the Windows agent have a trailing \\r\\n
# (ie CRLF escaped) for some reason. Strip that off.
- return resp['message'].replace('\\r\\n', '')
+ return ret['message'].replace('\\r\\n', '')
class XenAPIBasedAgent(object):
@@ -147,6 +144,11 @@ class XenAPIBasedAgent(object):
self.instance = instance
self.vm_ref = vm_ref
+ def _call_agent(self, method, addl_args=None, timeout=None,
+ success_code='0'):
+ return _call_agent(self.session, self.instance, self.vm_ref,
+ method, addl_args, timeout, success_code)
+
def get_agent_version(self):
"""Get the version of the agent running on the VM instance."""
@@ -159,31 +161,47 @@ class XenAPIBasedAgent(object):
# normal as well as watch for domid changes
expiration = time.time() + CONF.agent_version_timeout
- while time.time() < expiration:
- ret = _get_agent_version(self.session, self.instance, self.vm_ref)
- if ret:
- return ret
-
- LOG.info(_('Reached maximum time attempting to query agent version'),
- instance=self.instance)
-
- return None
+ while True:
+ try:
+ return self._call_agent('version')
+ except exception.AgentTimeout:
+ if time.time() > expiration:
+ raise
def agent_update(self, agent_build):
"""Update agent on the VM instance."""
- LOG.info(_('Updating agent to %s'), agent_build['version'],
- instance=self.instance)
+ LOG.debug(_('Updating agent to %s'), agent_build['version'],
+ instance=self.instance)
# Send the encrypted password
args = {'url': agent_build['url'], 'md5sum': agent_build['md5hash']}
- resp = _call_agent(
- self.session, self.instance, self.vm_ref, 'agentupdate', args)
- if resp['returncode'] != '0':
- LOG.error(_('Failed to update agent: %r'), resp,
- instance=self.instance)
- return None
- return resp['message']
+ try:
+ self._call_agent('agentupdate', args)
+ except exception.AgentError as exc:
+ # Silently fail for agent upgrades
+ LOG.warning(_("Unable to update the agent due "
+ "to: %(exc)s") % dict(exc=exc),
+ instance=self.instance)
+
+ def _exchange_key_with_agent(self):
+ dh = SimpleDH()
+ args = {'pub': str(dh.get_public())}
+ resp = self._call_agent('key_init', args, success_code='D0')
+ agent_pub = int(resp)
+ dh.compute_shared(agent_pub)
+ return dh
+
+ def _save_instance_password_if_sshkey_present(self, new_pass):
+ sshkey = self.instance.get('key_data')
+ if sshkey:
+ ctxt = context.get_admin_context()
+ enc = crypto.ssh_encrypt_text(sshkey, new_pass)
+ sys_meta = utils.instance_sys_meta(self.instance)
+ sys_meta.update(password.convert_password(ctxt,
+ base64.b64encode(enc)))
+ self.virtapi.instance_update(ctxt, self.instance['uuid'],
+ {'system_metadata': sys_meta})
def set_admin_password(self, new_pass):
"""Set the root/admin password on the VM instance.
@@ -196,59 +214,24 @@ class XenAPIBasedAgent(object):
"""
LOG.debug(_('Setting admin password'), instance=self.instance)
- dh = SimpleDH()
-
- # Exchange keys
- args = {'pub': str(dh.get_public())}
- resp = _call_agent(
- self.session, self.instance, self.vm_ref, 'key_init', args)
-
- # Successful return code from key_init is 'D0'
- if resp['returncode'] != 'D0':
- msg = _('Failed to exchange keys: %r') % resp
- LOG.error(msg, instance=self.instance)
- raise NotImplementedError(msg)
-
- # Some old versions of the Windows agent have a trailing \\r\\n
- # (ie CRLF escaped) for some reason. Strip that off.
- agent_pub = int(resp['message'].replace('\\r\\n', ''))
- dh.compute_shared(agent_pub)
-
+ dh = self._exchange_key_with_agent()
# Some old versions of Linux and Windows agent expect trailing \n
# on password to work correctly.
enc_pass = dh.encrypt(new_pass + '\n')
- # Send the encrypted password
args = {'enc_pass': enc_pass}
- resp = _call_agent(
- self.session, self.instance, self.vm_ref, 'password', args)
-
- # Successful return code from password is '0'
- if resp['returncode'] != '0':
- msg = _('Failed to exchange keys: %r') % resp
- LOG.error(msg, instance=self.instance)
- raise NotImplementedError(msg)
-
- sshkey = self.instance.get('key_data')
- if sshkey:
- ctxt = context.get_admin_context()
- enc = crypto.ssh_encrypt_text(sshkey, new_pass)
- sys_meta = utils.metadata_to_dict(self.instance['system_metadata'])
- sys_meta.update(password.convert_password(ctxt,
- base64.b64encode(enc)))
- self.virtapi.instance_update(ctxt, self.instance['uuid'],
- {'system_metadata': sys_meta})
-
- return resp['message']
+ self._call_agent('password', args)
+ self._save_instance_password_if_sshkey_present(new_pass)
def inject_ssh_key(self):
sshkey = self.instance.get('key_data')
if not sshkey:
return
if self.instance['os_type'] == 'windows':
- LOG.warning(_("Skipping setting of ssh key for Windows."),
- instance=self.instance)
+ LOG.debug(_("Skipping setting of ssh key for Windows."),
+ instance=self.instance)
return
+
sshkey = str(sshkey)
keyfile = '/root/.ssh/authorized_keys'
key_data = ''.join([
@@ -268,30 +251,13 @@ class XenAPIBasedAgent(object):
b64_contents = base64.b64encode(contents)
args = {'b64_path': b64_path, 'b64_contents': b64_contents}
-
- # If the agent doesn't support file injection, a NotImplementedError
- # will be raised with the appropriate message.
- resp = _call_agent(
- self.session, self.instance, self.vm_ref, 'inject_file', args)
- if resp['returncode'] != '0':
- LOG.error(_('Failed to inject file: %r'), resp,
- instance=self.instance)
- return None
-
- return resp['message']
+ return self._call_agent('inject_file', args)
def resetnetwork(self):
LOG.debug(_('Resetting network'), instance=self.instance)
- resp = _call_agent(
- self.session, self.instance, self.vm_ref, 'resetnetwork',
- timeout=CONF.agent_resetnetwork_timeout)
- if resp['returncode'] != '0':
- LOG.error(_('Failed to reset network: %r'), resp,
- instance=self.instance)
- return None
-
- return resp['message']
+ return self._call_agent('resetnetwork',
+ timeout=CONF.agent_resetnetwork_timeout)
def find_guest_agent(base_dir):
@@ -328,7 +294,7 @@ def find_guest_agent(base_dir):
def should_use_agent(instance):
- sys_meta = instance["system_metadata"]
+ sys_meta = utils.instance_sys_meta(instance)
if USE_AGENT_SM_KEY not in sys_meta:
return CONF.xenapi_use_agent_default
else:
diff --git a/nova/virt/xenapi/driver.py b/nova/virt/xenapi/driver.py
index 12a087929..37aed9812 100755
--- a/nova/virt/xenapi/driver.py
+++ b/nova/virt/xenapi/driver.py
@@ -266,7 +266,8 @@ class XenAPIDriver(driver.ComputeDriver):
"""Power off the specified instance."""
self._vmops.power_off(instance)
- def power_on(self, instance):
+ def power_on(self, context, instance, network_info,
+ block_device_info=None):
"""Power on the specified instance."""
self._vmops.power_on(instance)
diff --git a/nova/virt/xenapi/fake.py b/nova/virt/xenapi/fake.py
index 2dd9765d1..f4eac3887 100644
--- a/nova/virt/xenapi/fake.py
+++ b/nova/virt/xenapi/fake.py
@@ -565,7 +565,7 @@ class SessionBase(object):
return 12 * 1024 * 1024 * 1024
def _plugin_agent_version(self, method, args):
- return as_json(returncode='0', message='1.0')
+ return as_json(returncode='0', message='1.0\\r\\n')
def _plugin_agent_key_init(self, method, args):
return as_json(returncode='D0', message='1')
@@ -579,6 +579,13 @@ class SessionBase(object):
def _plugin_agent_resetnetwork(self, method, args):
return as_json(returncode='0', message='success')
+ def _plugin_agent_agentupdate(self, method, args):
+ url = args["url"]
+ md5 = args["md5sum"]
+ message = "success with %(url)s and hash:%(md5)s" % dict(url=url,
+ md5=md5)
+ return as_json(returncode='0', message=message)
+
def _plugin_noop(self, method, args):
return ''
diff --git a/nova/virt/xenapi/vm_utils.py b/nova/virt/xenapi/vm_utils.py
index ff6f7f266..6e9f09184 100644
--- a/nova/virt/xenapi/vm_utils.py
+++ b/nova/virt/xenapi/vm_utils.py
@@ -1017,7 +1017,7 @@ def _create_image(context, session, instance, name_label, image_id,
elif cache_images == 'all':
cache = True
elif cache_images == 'some':
- sys_meta = utils.metadata_to_dict(instance['system_metadata'])
+ sys_meta = utils.instance_sys_meta(instance)
try:
cache = strutils.bool_from_string(sys_meta['image_cache_in_nova'])
except KeyError:
@@ -1112,7 +1112,7 @@ def _image_uses_bittorrent(context, instance):
if xenapi_torrent_images == 'all':
bittorrent = True
elif xenapi_torrent_images == 'some':
- sys_meta = utils.metadata_to_dict(instance['system_metadata'])
+ sys_meta = utils.instance_sys_meta(instance)
try:
bittorrent = strutils.bool_from_string(
sys_meta['image_bittorrent'])
@@ -1142,7 +1142,7 @@ def _fetch_vhd_image(context, session, instance, image_id):
if _image_uses_bittorrent(context, instance):
plugin_name = 'bittorrent'
callback = None
- _add_bittorrent_params(params)
+ _add_bittorrent_params(image_id, params)
else:
plugin_name = 'glance'
callback = _generate_glance_callback(context)
@@ -1180,20 +1180,18 @@ def _generate_glance_callback(context):
return pick_glance
-def _add_bittorrent_params(params):
- params['torrent_base_url'] = CONF.xenapi_torrent_base_url
- params['torrent_seed_duration'] = CONF.xenapi_torrent_seed_duration
- params['torrent_seed_chance'] = CONF.xenapi_torrent_seed_chance
- params['torrent_max_last_accessed'] =\
- CONF.xenapi_torrent_max_last_accessed
- params['torrent_listen_port_start'] =\
- CONF.xenapi_torrent_listen_port_start
- params['torrent_listen_port_end'] =\
- CONF.xenapi_torrent_listen_port_end
- params['torrent_download_stall_cutoff'] =\
- CONF.xenapi_torrent_download_stall_cutoff
- params['torrent_max_seeder_processes_per_host'] =\
- CONF.xenapi_torrent_max_seeder_processes_per_host
+def _add_bittorrent_params(image_id, params):
+ params['torrent_url'] = urlparse.urljoin(CONF.xenapi_torrent_base_url,
+ "%s.torrent" % image_id)
+ params['torrent_seed_duration'] = CONF.xenapi_torrent_seed_duration
+ params['torrent_seed_chance'] = CONF.xenapi_torrent_seed_chance
+ params['torrent_max_last_accessed'] = CONF.xenapi_torrent_max_last_accessed
+ params['torrent_listen_port_start'] = CONF.xenapi_torrent_listen_port_start
+ params['torrent_listen_port_end'] = CONF.xenapi_torrent_listen_port_end
+ params['torrent_download_stall_cutoff'] = \
+ CONF.xenapi_torrent_download_stall_cutoff
+ params['torrent_max_seeder_processes_per_host'] = \
+ CONF.xenapi_torrent_max_seeder_processes_per_host
def _get_vdi_chain_size(session, vdi_uuid):
diff --git a/nova/virt/xenapi/volume_utils.py b/nova/virt/xenapi/volume_utils.py
index 7a0b4a67e..853bc3262 100644
--- a/nova/virt/xenapi/volume_utils.py
+++ b/nova/virt/xenapi/volume_utils.py
@@ -233,8 +233,16 @@ def parse_volume_info(connection_data):
target_host = _get_target_host(target_portal)
target_port = _get_target_port(target_portal)
target_iqn = connection_data['target_iqn']
- LOG.debug('(vol_id,number,host,port,iqn): (%s,%s,%s,%s)',
- (volume_id, target_host, target_port, target_iqn))
+
+ log_params = {
+ "vol_id": volume_id,
+ "host": target_host,
+ "port": target_port,
+ "iqn": target_iqn
+ }
+ LOG.debug(_('(vol_id,host,port,iqn): '
+ '(%(vol_id)s,%(host)s,%(port)s,%(iqn)s)'), log_params)
+
if (volume_id is None or
target_host is None or
target_iqn is None):
diff --git a/nova/vnc/xvp_proxy.py b/nova/vnc/xvp_proxy.py
index 4331e5b40..920f24b7a 100644
--- a/nova/vnc/xvp_proxy.py
+++ b/nova/vnc/xvp_proxy.py
@@ -57,7 +57,7 @@ class XCPVNCProxy(object):
while True:
try:
d = source.recv(32384)
- except Exception as e:
+ except Exception:
d = None
# If recv fails, send a write shutdown the other direction
@@ -68,7 +68,7 @@ class XCPVNCProxy(object):
try:
# sendall raises an exception on write error, unlike send
dest.sendall(d)
- except Exception as e:
+ except Exception:
source.close()
dest.close()
break
@@ -102,7 +102,6 @@ class XCPVNCProxy(object):
client = req.environ['eventlet.input'].get_socket()
client.sendall("HTTP/1.1 200 OK\r\n\r\n")
- socketsserver = None
sockets['client'] = client
sockets['server'] = server
diff --git a/nova/wsgi.py b/nova/wsgi.py
index 72e464919..2e3f66f0d 100644
--- a/nova/wsgi.py
+++ b/nova/wsgi.py
@@ -37,6 +37,9 @@ from nova import exception
from nova.openstack.common import excutils
from nova.openstack.common import log as logging
+# Raise the default from 8192 to accommodate large tokens
+eventlet.wsgi.MAX_HEADER_LINE = 16384
+
wsgi_opts = [
cfg.StrOpt('api_paste_config',
default="api-paste.ini",
diff --git a/openstack-common.conf b/openstack-common.conf
index 05fca3167..9edac2d2e 100644
--- a/openstack-common.conf
+++ b/openstack-common.conf
@@ -24,7 +24,6 @@ module=network_utils
module=notifier
module=patch_tox_venv
module=periodic_task
-module=plugin
module=policy
module=processutils
module=redhat-eventlet.patch
diff --git a/plugins/xenserver/xenapi/etc/xapi.d/plugins/bittorrent b/plugins/xenserver/xenapi/etc/xapi.d/plugins/bittorrent
index 8ae93698d..70c62ec23 100755
--- a/plugins/xenserver/xenapi/etc/xapi.d/plugins/bittorrent
+++ b/plugins/xenserver/xenapi/etc/xapi.d/plugins/bittorrent
@@ -49,12 +49,11 @@ def _make_torrent_cache():
return torrent_cache_path
-def _fetch_torrent_file(torrent_cache_path, image_id, torrent_base_url):
+def _fetch_torrent_file(torrent_cache_path, image_id, torrent_url):
torrent_path = os.path.join(
torrent_cache_path, image_id + '.torrent')
if not os.path.exists(torrent_path):
- torrent_url = torrent_base_url + "/%s.torrent" % image_id
logging.info("Downloading %s" % torrent_url)
# Write contents to temporary path to ensure we don't have partially
@@ -250,7 +249,7 @@ def _make_seed_cache():
return seed_cache_path
-def download_vhd(session, image_id, torrent_base_url, torrent_seed_duration,
+def download_vhd(session, image_id, torrent_url, torrent_seed_duration,
torrent_seed_chance, torrent_max_last_accessed,
torrent_listen_port_start, torrent_listen_port_end,
torrent_download_stall_cutoff, uuid_stack, sr_path,
@@ -266,7 +265,7 @@ def download_vhd(session, image_id, torrent_base_url, torrent_seed_duration,
_reap_old_torrent_files(torrent_cache_path, torrent_max_last_accessed)
torrent_path = _fetch_torrent_file(
- torrent_cache_path, image_id, torrent_base_url)
+ torrent_cache_path, image_id, torrent_url)
staging_path = utils.make_staging_area(sr_path)
try:
diff --git a/plugins/xenserver/xenapi/etc/xapi.d/plugins/utils.py b/plugins/xenserver/xenapi/etc/xapi.d/plugins/utils.py
index 95f01bba3..a15ace92a 100644
--- a/plugins/xenserver/xenapi/etc/xapi.d/plugins/utils.py
+++ b/plugins/xenserver/xenapi/etc/xapi.d/plugins/utils.py
@@ -46,7 +46,13 @@ def _link(src, dst):
def _rename(src, dst):
LOG.info("Renaming file '%s' -> '%s'" % (src, dst))
- os.rename(src, dst)
+ try:
+ os.rename(src, dst)
+ except OSError, e:
+ if e.errno == errno.EXDEV:
+ LOG.error("Invalid cross-device link. Perhaps %s and %s should "
+ "be symlinked on the same filesystem?" % (src, dst))
+ raise
def make_subprocess(cmdline, stdout=False, stderr=False, stdin=False,
diff --git a/plugins/xenserver/xenapi/etc/xapi.d/plugins/xenstore.py b/plugins/xenserver/xenapi/etc/xapi.d/plugins/xenstore.py
index 9c86b7cb7..a12704248 100755
--- a/plugins/xenserver/xenapi/etc/xapi.d/plugins/xenstore.py
+++ b/plugins/xenserver/xenapi/etc/xapi.d/plugins/xenstore.py
@@ -159,7 +159,13 @@ def delete_record(self, arg_dict):
VM and the specified path from xenstore.
"""
cmd = ["xenstore-rm", "/local/domain/%(dom_id)s/%(path)s" % arg_dict]
- ret, result = _run_command(cmd)
+ try:
+ ret, result = _run_command(cmd)
+ except XenstoreError, e:
+ if 'could not remove path' in e.stderr:
+ # Entry already gone. We're good to go.
+ return ''
+ raise
return result
diff --git a/requirements.txt b/requirements.txt
index 7db3a2a0b..68cec7c31 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,5 +1,5 @@
d2to1>=0.2.10,<0.3
-pbr>=0.5,<0.6
+pbr>=0.5.16,<0.6
SQLAlchemy>=0.7.8,<0.7.99
Cheetah>=2.4.4
amqplib>=0.6.1
@@ -21,13 +21,12 @@ paramiko
pyasn1
Babel>=0.9.6
iso8601>=0.1.4
-httplib2
requests>=1.1,<1.2.1 # order-dependent python-cinderclient req cap, bug 1182271
python-cinderclient>=1.0.1
python-quantumclient>=2.2.0,<3.0.0
python-glanceclient>=0.5.0,<2
python-keystoneclient>=0.2.0
six
-stevedore>=0.7
+stevedore>=0.9
websockify<0.4
oslo.config>=1.1.0
diff --git a/setup.cfg b/setup.cfg
index 1baa22940..0d7e474cd 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -54,11 +54,21 @@ console_scripts =
nova-xvpvncproxy = nova.cmd.xvpvncproxy:main
nova.api.v3.extensions =
+ cells = nova.api.openstack.compute.plugins.v3.cells:Cells
+ certificates = nova.api.openstack.compute.plugins.v3.certificates:Certificates
consoles = nova.api.openstack.compute.plugins.v3.consoles:Consoles
+ evacuate = nova.api.openstack.compute.plugins.v3.evacuate:Evacuate
extension_info = nova.api.openstack.compute.plugins.v3.extension_info:ExtensionInfo
fixed_ips = nova.api.openstack.compute.plugins.v3.fixed_ips:FixedIPs
+ flavors = nova.api.openstack.compute.plugins.v3.flavors:Flavors
+ flavor_access = nova.api.openstack.compute.plugins.v3.flavor_access:FlavorAccess
+ flavor_disabled = nova.api.openstack.compute.plugins.v3.flavor_disabled:FlavorDisabled
+ images = nova.api.openstack.compute.plugins.v3.images:Images
ips = nova.api.openstack.compute.plugins.v3.ips:IPs
keypairs = nova.api.openstack.compute.plugins.v3.keypairs:Keypairs
+ quota_sets = nova.api.openstack.compute.plugins.v3.quota_sets:QuotaSets
+ rescue = nova.api.openstack.compute.plugins.v3.rescue:Rescue
+ server_diagnostics = nova.api.openstack.compute.plugins.v3.server_diagnostics:ServerDiagnostics
servers = nova.api.openstack.compute.plugins.v3.servers:Servers
nova.api.v3.extensions.server.create =
diff --git a/smoketests/base.py b/smoketests/base.py
index 1ecb5a92e..c3b2be131 100644
--- a/smoketests/base.py
+++ b/smoketests/base.py
@@ -98,7 +98,7 @@ class SmokeTestCase(unittest.TestCase):
try:
conn = self.connect_ssh(ip, key_name)
conn.close()
- except Exception as e:
+ except Exception:
time.sleep(wait)
else:
return True
diff --git a/smoketests/public_network_smoketests.py b/smoketests/public_network_smoketests.py
index f20b0923e..9b68a8fc7 100644
--- a/smoketests/public_network_smoketests.py
+++ b/smoketests/public_network_smoketests.py
@@ -96,7 +96,7 @@ class InstanceTestsFromPublic(base.UserSmokeTestCase):
conn = self.connect_ssh(
self.data['ip_v6'], TEST_KEY)
conn.close()
- except Exception as ex:
+ except Exception:
time.sleep(1)
else:
break
diff --git a/smoketests/test_sysadmin.py b/smoketests/test_sysadmin.py
index b05f0ac4b..d45a75b74 100644
--- a/smoketests/test_sysadmin.py
+++ b/smoketests/test_sysadmin.py
@@ -161,7 +161,6 @@ class InstanceTests(base.UserSmokeTestCase):
self.data['instance'] = reservation.instances[0]
def test_003_instance_runs_within_60_seconds(self):
- instance = self.data['instance']
# allow 60 seconds to exit pending with IP
if not self.wait_for_running(self.data['instance']):
self.fail('instance failed to start')
diff --git a/tools/conf/generate_sample.sh b/tools/conf/generate_sample.sh
index 89bae8ab8..44d4672b6 100755
--- a/tools/conf/generate_sample.sh
+++ b/tools/conf/generate_sample.sh
@@ -21,15 +21,9 @@
FILES=$(find nova -type f -name "*.py" ! -path "nova/tests/*" \
-exec grep -l "Opt(" {} + | sort -u)
-BINS=$(echo bin/nova-* | grep -v nova-rootwrap)
export EVENTLET_NO_GREENDNS=yes
MODULEPATH=$(dirname "$0")/../../nova/openstack/common/config/generator.py
OUTPUTPATH=etc/nova/nova.conf.sample
-PYTHONPATH=./:${PYTHONPATH} python $MODULEPATH $FILES $BINS > $OUTPUTPATH
-
-# Remove compiled files created by imp.import_source()
-for bin in ${BINS}; do
- [ -f ${bin}c ] && rm ${bin}c
-done
+PYTHONPATH=./:${PYTHONPATH} python $MODULEPATH $FILES > $OUTPUTPATH
diff --git a/tools/xenserver/rotate_xen_guest_logs.sh b/tools/xenserver/rotate_xen_guest_logs.sh
new file mode 100755
index 000000000..0e6c7d6ea
--- /dev/null
+++ b/tools/xenserver/rotate_xen_guest_logs.sh
@@ -0,0 +1,62 @@
+#!/bin/bash
+set -eux
+
+# Script to rotate console logs
+#
+# Should be run on Dom0, with cron, every minute:
+# * * * * * /root/rotate_xen_guest_logs.sh
+#
+# Should clear out the guest logs on every boot
+# because the domain ids may get re-used for a
+# different tenant after the reboot
+#
+# /var/log/xen/guest should be mounted into a
+# small loopback device to stop any guest being
+# able to fill dom0 file system
+
+log_dir="/var/log/xen/guest"
+kb=1024
+max_size_bytes=$(($kb*$kb))
+truncated_size_bytes=$((5*$kb))
+list_domains=/opt/xensource/bin/list_domains
+
+log_file_base="${log_dir}/console."
+tmp_file_base="${log_dir}/tmp.console."
+
+# Ensure logging is setup correctly for all domains
+xenstore-write /local/logconsole/@ "${log_file_base}%d"
+
+# Move logs we want to keep
+domains=$($list_domains | sed '/^id*/d' | sed 's/|.*|.*$//g' | xargs)
+for i in $domains; do
+ log="${log_file_base}$i"
+ tmp="${tmp_file_base}$i"
+ mv $log $tmp || true
+done
+
+# Delete all console logs,
+# mostly to remove logs from recently killed domains
+rm -f ${log_dir}/console.*
+
+# Reload domain list, in case it changed
+# (note we may have just deleted a new console log)
+domains=$($list_domains | sed '/^id*/d' | sed 's/|.*|.*$//g' | xargs)
+for i in $domains; do
+ log="${log_file_base}$i"
+ tmp="${tmp_file_base}$i"
+ size=$(stat -c%s "$tmp")
+
+ # Trim the log if required
+ if [ "$size" -gt "$max_size_bytes" ]; then
+ tail -c $truncated_size_bytes $tmp > $log || true
+ else
+ mv $tmp $log || true
+ fi
+
+ # Notify xen that it needs to reload the file
+ xenstore-write /local/logconsole/$i $log
+ xenstore-rm /local/logconsole/$i
+done
+
+# Delete all the tmp files
+rm -f ${tmp_file_base}* || true